SlideShare ist ein Scribd-Unternehmen logo
1 von 72
© 2017 UNICAST INC.
2017年11月17日
GitLab Meetup Tokyo #5:
GitLab 10リリース記念
GitLabを16万8千光年ワープさせた話(改)
GITLAB BIG UPGRADE PROJECT --amend
自己紹介
© 2017 UNICAST INC. 1
• ソフトウェアエンジニアといいつつ主にサーバの構築・運用とか
ネットワーク機器の設定・運用をメインでやっています
• オンプレおじさん@31歳
• 日々Ansibleのプレイブックを書く、サーバのお守りをする
• ボタン一発で欲しいサーバができるようにしたい
• 大都会日立市(茨城県)
• 好きなPodcast: Rebuild.fm
LPIC
Leve3 Certified Engineer
Virtualization &High Availability
株式会社ユニキャスト
ソフトウェアエンジニア
野口 航(Wataru NOGUCHI)
@wnoguchi
https://blog.pg1x.com/
Acclaim
https://goo.gl/fwxMRB
過去のスライド
https://www.slideshare.net/
watarunoguchi0727
アジェンダ
© 2017 UNICAST INC. 2
1. この発表で一番言いたいこと
2. 弊社のGitLabの歴史
3. GitLabを選択するポイント
4. 回想(2017年6月のこと)
5. アップグレード戦略
6. 7.4.3->9.2 までアップグレードする道のり
7. その後7~10月
8. デモ(2段階認証、 Mattermost)
この発表について
© 2017 UNICAST INC. 3
GitLabを7.4.3から10.0にアップグレードするまでの
道のりを紹介するもの
免責事項
© 2017 UNICAST INC. 4
git commit --amend –m “
社内勉強会で発表したスライドの焼き直し
https://www.slideshare.net/watarunoguchi0727/gitlab168-
gitlab-big-upgrade-project
“
この発表で一番言いたいこと
© 2017 UNICAST INC. 5
• 毎月リリースされるアップデートを絶対に放置しないこと
• ペットと一緒で一回飼うと決めたら最後まで面倒見る
• じゃないとあとで大きなツケを払うことになる
• あんまり放置すると
• アップグレードドキュメントも消される(e.g. ownCloud)
• /(^o^)\
弊社のGitLabの歴史
© 2017 UNICAST INC. 6
古文書(Redmine, ChatWork)によれば
2012年12月10日
社内にGitLab3.1が爆誕
まだGitLabのリポジトリが
GitHubにあったころ
弊社のGitLabの歴史
© 2017 UNICAST INC. 7
転生を繰り返す
弊社のGitLabの歴史
© 2017 UNICAST INC. 8
10.0.6
弊社のGitLabの歴史
© 2017 UNICAST INC. 9
弊社のGitLabの歴史
© 2017 UNICAST INC. 10
弊社のGitLabの歴史
© 2017 UNICAST INC. 11
GitLabの導入を検討している人への情報
© 2017 UNICAST INC. 12
• GitLabは気軽に導入できる
• SCMすら使わないプロジェクトでどうにかこうにかしてチーム内に
導入したことがある
GitLabは気軽に導入できる
GitLabの導入を検討している人への情報
© 2017 UNICAST INC. 13
• Ubuntu Server がおすすめ
• CentOS だけがすべての選択肢ではない
• 要求されているパッケージのバージョンが古いからビルド・手動で
持ってこなきゃ
• e.g. Ruby, Redis, Git, Golang, PostgreSQL
• CentOS7.3->7.4でちょっと痛い目を見た
• firewalld複雑に設定してたらSSH繋がらなくなって涙目
(今もまだ直ってないように見受けられる)
• Omnibusパッケージ版ならいい感じにやってくれる
• GitLab社の開発がUbuntu Serverベースで行われているので公式が推奨す
る方法を採用するのがよい
ディストリビューションの選択
This installation guide was created for and tested on Debian/Ubuntu
operating systems.
GitLabの導入を検討している人への情報
© 2017 UNICAST INC. 14
• ナウい(死語)ソフトウェア、ミドルウェアを使う: GitLab, ownCloud,
KONG, OpenStack等
• PHP7をベースとしたナウい(死語)LAMPスタックを使うならUbuntu
Server
• OSSでディストリの指定がある
Ubuntu Server が適しているシーン
GitLabの導入を検討している人への情報
© 2017 UNICAST INC. 15
• 特に理由がないのであればOmnibusパッケージ版を強く推奨
• 企業規模がでかすぎて1ノード構成じゃむりぽというスケールアウト可能
な構成とらないといけない理由がある場合に限ってソース版を選択しま
しょう
• https://docs.gitlab.com/ce/install/requirements.html
• https://docs.gitlab.com/ce/install/installation.html
インストール方法の選択
GitLabの導入を検討している人への情報
© 2017 UNICAST INC. 16
• 悪いことは言わないのでPostgreSQLを使っておきましょう
• Omnibus版はEE版しかサポートしていなかったような・・・
俺はMySQL(or MariaDB)が使いたいんだ
GitLabの導入を検討している人への情報
© 2017 UNICAST INC. 17
• いつアップグレードするか?
• 毎月21日頃にGitLab新バージョンがリリースされる
• リリース直後は地雷を踏む可能性がある
• 弊社は-0.1バージョンが古い、つまり1ヶ月遅れでアップグレードする
• 毎月アップグレードは実施(じゃないとキャッチアップ大変になる)
アップグレードポリシーの選択
© 2017 UNICAST INC. 18
全然大変さが伝わってこない??
回想(2017年6月のこと)
© 2017 UNICAST INC. 19
• Ver 7.4.3 ソース版&MySQL
• GitLabアップグレードしたい
• 比べ物にならないぐらい機能も充実してる
• UIもかっこよくなってる
• 二段階認証対応
• なんかソースの検索かけようとするとInternal Server Error(ISE) になる
• 重い Merge Request を走らせるとすぐ ISE で音を上げる
• キツネのロゴがきもい
• 青い草が生やせる
• AD(LDAP)と連携できる
• Slack Alternative の Mattermost が使える
• そもそもバージョンが古いままであること自体が良くない
• 脆弱性の塊
© 2017 UNICAST INC. 20
当時
7.4.3
ソース版
MySQL
© 2017 UNICAST INC. 21
最新版
9.2.7
Omnibus パッケージ
PostgreSQL 推奨
アップグレードドキュメント一覧
© 2017 UNICAST INC. 22
https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update
アップグレードドキュメント一覧
© 2017 UNICAST INC. 23
https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update
アップグレードドキュメント一覧
© 2017 UNICAST INC. 24
https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update
アップグレード戦略
© 2017 UNICAST INC. 25
• マイナーバージョンレベルまで完全に一致していないと無理
• ボツ
方法1: GitLab付属のツールでとったバックアップをインポートする
アップグレード戦略
© 2017 UNICAST INC. 26
• ユーザー、グループ情報、公開鍵情報が一切引き継がれない
• ゆえに開発、デプロイに大きく支障が出るので廃案
方法2: リポジトリだけ丸ごと最新GitLabに移し替える
アップグレード戦略
© 2017 UNICAST INC. 27
• Pros: もっとも安全・確実な方法
• Cons: ひとつひとつ検証して確認していかなければならないためアップグ
レードにものすごい時間がかかる
• 採用
方法3: 愚直にGitLab社の提供しているソースバージョンのアップグレード方
法を一個一個実施していく
アップグレードドキュメント一覧(再掲)
© 2017 UNICAST INC. 28
https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update
アップグレードドキュメント一覧(再掲)
© 2017 UNICAST INC. 29
https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update
アップグレードドキュメント一覧(再掲)
© 2017 UNICAST INC. 30
https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update
当時のアップグレード作業の過酷さを物語る社内Wiki
© 2017 UNICAST INC. 31
アップグレード戦略
© 2017 UNICAST INC. 32
• 現行本番KVM仮想マシンをシャットダウンしてイメージ丸ごとコピー
• イメージをraw形式からvmdk形式に変換
• VMware Workstation上でバージョンごとにスナップショットをとっていつでも切
り戻しできるようにして検証
(超便利!!超おすすめ!!)
• RDBMSの変換はPythonのバージョンが違ってかなり大変そうなので最新版まで
上げてからやる
(そう思っていた時期が私にもありました)
• なぜRDBMSの変換が必要なのか
• GitLabがPostgreSQLを使うことを強く推奨
• OmnibusパッケージでMySQLがサポートされるのはGitLab EEのみ
• GitLab CEはPostgreSQL一択
• 検証が全部済んだら
• 土日使って一気に本番環境をアップグレード
• ついでにOmnibusパッケージ版にも変換、ディストリビューションもCentOS6.9
からちゃんと公式でテストされているUbuntu Server16.04 LTSに
検証: 7.4.3→7.14.3
© 2017 UNICAST INC. 33
• 2回失敗
• Redisのソケット化がうまくいかなかった
• 3回目にしてやっと成功
• 本当に大丈夫なのかと思った
• diff取るの大変。。。
7.14.3のGitLabの姿
© 2017 UNICAST INC. 34
検証: 7.14.3→8.0
© 2017 UNICAST INC. 35
• メジャーバージョンアップ
• diff取るの大変。。。
検証: 8.0→8.11→8.5
© 2017 UNICAST INC. 36
• 8.0→8.17までやる予定だった
• だんだんバージョンアップ作業に慣れてきた
• というかこのあたりから必要な新設定ファイルを
git show abc123>8.0/new/gitlab.yml
のように予め8.0,8.1,8.2,…,9.0,9.1,9.2まで抽出しておく
• そして差分をWinMergeで視覚的に比較、慎重にvim :sp Vjy C-b w p する
• という効率的なやり方に切り替えていく
• 頭の切り替えが大変だから
• patchコマンド使っても良かったかもしれない
• でもdiffとるのすごくつらい。。。。
• 0.1増えるだけでちょこちょこ設定ファイルやミドルウェアが変わる
• 8.11でついにMySQLのマイグレーションが失敗するようになった
• mysqldumpもMySQL server has gone away
• gone awayしなくなるまでスナップショット戻す
• 8.5まで戻る
• MySQLからPostgreSQLに変換することを真剣に検討しなければいけなくなる
ひたすらdiffをとって設定をコピー
© 2017 UNICAST INC. 37
検証: MySQL→PostgreSQL RDBMS変換
© 2017 UNICAST INC. 38
• CentOS6.9で標準で入っているPythonのバージョンは2.4
• PostgreSQLに変換するにはPython 2.7が必要
• ビルドするのは絶対イヤ
• あちこち探しまくってYumリポジトリ見つける(一時的にPython 2.7が使える)
• RDBMS変換スクリプトのgitlabブランチをチェックアウトして変換実施
• 動いた。。。。。
• なんで動いているのかわからない。。。。
• 奇跡の技では。。。
$ sudo yum install centos-release-scl-rh
$ sudo yum --enablerepo=centos-sclo-rh -y install python27
$ scl enable python27 bash
$ git clone https://github.com/gitlabhq/mysql-postgresql-converter.git -b gitlab
$ cd mysql-postgresql-converter
$ mysqldump --compatible=postgresql --default-character-set=utf8 -r
gitlab_production.mysql -u root gitlab_production -p
$ python db_converter.py gitlab_production.mysql gitlabhq_production.psql
検証: MySQL→PostgreSQL RDBMS変換
© 2017 UNICAST INC. 39
検証: MySQL→PostgreSQL RDBMS変換
© 2017 UNICAST INC. 40
検証: 8.5→8.17
© 2017 UNICAST INC. 41
• バックエンドをPostgreSQLに改めて再度挑戦
• 今度は8.16まで素直に動く
• 8.16ちょっと詰まる
• けど8.17までアップグレードできた
• diff取るの大変だよ。。。。
検証: 8.17→9.0
© 2017 UNICAST INC. 42
• メジャーバージョンアップ
• あと一息。。
• 相変わらずdiff取るの大変だよ。。。。
検証: 9.0→9.2
© 2017 UNICAST INC. 43
• ガシガシミドルウェアの変更が入る
• いつのまにかグループに公開制御がついていて(8.6あたりから)デフォルトで全
世界に公開する設定になっていて50+個ぐらいのグループをpublicからprivateに
修正。。。
• やっと検証完了(したと思ったら9.3がリリースされた)
• リリースから1ヶ月ぐらい寝かせないとバグ満載で生きた心地しないのでここで
うちやめ
本番: 7.4.3→9.2
© 2017 UNICAST INC. 44
• 今までの検証結果をまとめた手順書ベースに一気にアップグレード
• 大ワープ
• 予め検証済みの設定ファイル一式をバージョンを一つ上げるごとにコピーして行
くのでかなり高速
• 万が一に備えてVMはイメージごとバックアップ
本番: CentOS 6.9 Src. Ver. → Ubuntu Server 16.04 LTS Omnibus Package Ver.
© 2017 UNICAST INC. 45
• 今度はソースバージョンのGitLabをOmnibusパッケージ版のGitLabに変換
• これは検証間に合ってなかった
• 一発勝負
• ついでにディストリビューションもUbuntu Server 16.04 LTSに変更
• なぜなら開発、テストは主にUbuntu Serverをベースに行われているから
• CentOSは安定している代わりにパッケージのバージョンが圧倒的に古く、無いソ
フトウェアは自力でビルドする必要がある
• 一応うまくいった
• LDAP認証対応(Active Directory)
• httpsのURLクローン対応
本番: 7.4.3→9.2
© 2017 UNICAST INC. 46
GitLabロードアベレージ上昇中
本番: 7.4.3→9.2
© 2017 UNICAST INC. 47
CPU使用率60%
本番: 7.4.3→9.2
© 2017 UNICAST INC. 48
90%
本番: 7.4.3→9.2
© 2017 UNICAST INC. 49
メモリ使用量も上昇させます。
本番: 7.4.3→9.2
© 2017 UNICAST INC. 50
CPU使用率120%
本番: 7.4.3→9.2
© 2017 UNICAST INC. 51
秒読み開始
本番: 7.4.3→9.2
© 2017 UNICAST INC. 52
3
本番: 7.4.3→9.2
© 2017 UNICAST INC. 53
2
本番: 7.4.3→9.2
© 2017 UNICAST INC. 54
1
本番: 7.4.3→9.2
© 2017 UNICAST INC. 55
ワーーーープ!!!!!!!
© 2017 UNICAST INC. 56
9.2.7
本番: 7.4.3→9.2
© 2017 UNICAST INC. 57
ついに、来たんだな、イス●ン●ル・・・
本番: 7.4.3→9.2
© 2017 UNICAST INC. 58
ああ・・・そうだ
所感
© 2017 UNICAST INC. 59
diff取るのすごく大変でした。。。
一番言いたいこと
© 2017 UNICAST INC. 60
導入したソフトウェアの
バージョンアップにはアンテナを張って
こまめにアップデートしていくべき
その後
© 2017 UNICAST INC. 61
• 順調にアップデートを重ねていく
• 7月 9.3
• 8月 9.4
• 9月 9.5
• 10月 10.0
基本的にVMのスナップショットとって
sudo apt-get -y install gitlab-ce
するだけ
© 2017 UNICAST INC. 62
10.0になった!
© 2017 UNICAST INC. 63
Next 10.1
© 2017 UNICAST INC. 64
デモ
デモ
© 2017 UNICAST INC. 65
イス●ン●ルについたのでデモします。
デモ:2段階認証
© 2017 UNICAST INC. 66
• 現在のGitLabは2段階認証に対応しています
• AuthyなりGoogle Authenticatorなり使ってもよし
• ハードウェアトークンYubiKeyにも対応
• Your Ubiquitous Key
• https://www.yubico.com/
• https://www.yubico.com/why-yubico/how-yubikey-works/
• 秘密鍵、管理してますか? YubiKeyで鍵の一元管理とSSH接続、2段階認
証の高速化を試す – Qiita
https://qiita.com/dseg/items/77d77467970b1b510285
• Amazon
• https://www.amazon.co.jp/dp/B018Y1Q71M
YubiKeyを使った2段階認証
デモ:Mattermost
© 2017 UNICAST INC. 67
• 現在のGitLab OmnibusパッケージにはMattermostというSlack Alternative
なチャットツールをバンドルしています
デモ:Mattermost
© 2017 UNICAST INC. 68
• GitLab Mattermost - GitLab Documentation
https://docs.gitlab.com/omnibus/gitlab-mattermost/
• https://gist.github.com/wnoguchi/d9a79e616aaf06e81522ed681a2921c4
GitLabにMattermost入れたい人へ
-#mattermost_external_url 'https://mattermost.example.com'
+mattermost_external_url 'https://mattermost.demo.pg1x.com'
-# mattermost['gitlab_auth_endpoint'] = "http://gitlab.example.com/oauth/authorize"
-# mattermost['gitlab_token_endpoint'] = "http://gitlab.example.com/oauth/token"
-# mattermost['gitlab_user_api_endpoint'] = "http://gitlab.example.com/api/v4/user"
+mattermost['gitlab_auth_endpoint'] = "https://gitlab.demo.pg1x.com/oauth/authorize"
+mattermost['gitlab_token_endpoint'] = "https://gitlab.demo.pg1x.com/oauth/token"
+mattermost['gitlab_user_api_endpoint'] = "https://gitlab.demo.pg1x.com/api/v4/user"
© 2017 UNICAST INC. 69
オフトゥン、、何もかも皆、懐かしい・・・
© 2017 UNICAST INC. 70
帰ろう、オフトゥンへ・・・
71
ご清聴ありがとうございました。
© 2017 UNICAST INC.

Weitere ähnliche Inhalte

Was ist angesagt?

20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway Amazon Web Services Japan
 
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)Masaya Tahara
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallAtsushi Tanaka
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
AWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンスAWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンスAmazon Web Services Japan
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...Amazon Web Services Japan
 
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本Amazon Web Services Japan
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用Amazon Web Services Japan
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)Trainocate Japan, Ltd.
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?Masahito Zembutsu
 
リクルートのWebサービスを支える共通インフラ「RAFTEL」
リクルートのWebサービスを支える共通インフラ「RAFTEL」リクルートのWebサービスを支える共通インフラ「RAFTEL」
リクルートのWebサービスを支える共通インフラ「RAFTEL」Recruit Technologies
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon CognitoAmazon Web Services Japan
 
[AWS Summit 2012] 基調講演 Day2: Go Enterprise!
[AWS Summit 2012] 基調講演 Day2: Go Enterprise! [AWS Summit 2012] 基調講演 Day2: Go Enterprise!
[AWS Summit 2012] 基調講演 Day2: Go Enterprise! Amazon Web Services Japan
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介Amazon Web Services Japan
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Web Services Japan
 
AWS Instance Schedulerは、ぜひ使うべきなのか?
AWS Instance Schedulerは、ぜひ使うべきなのか?AWS Instance Schedulerは、ぜひ使うべきなのか?
AWS Instance Schedulerは、ぜひ使うべきなのか?株式会社クライム
 
20191001 AWS Black Belt Online Seminar AWS Lake Formation
20191001 AWS Black Belt Online Seminar AWS Lake Formation 20191001 AWS Black Belt Online Seminar AWS Lake Formation
20191001 AWS Black Belt Online Seminar AWS Lake Formation Amazon Web Services Japan
 
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTT DATA Technology & Innovation
 

Was ist angesagt? (20)

20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
 
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
AWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンスAWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンス
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
 
Serverless時代のJavaについて
Serverless時代のJavaについてServerless時代のJavaについて
Serverless時代のJavaについて
 
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
 
リクルートのWebサービスを支える共通インフラ「RAFTEL」
リクルートのWebサービスを支える共通インフラ「RAFTEL」リクルートのWebサービスを支える共通インフラ「RAFTEL」
リクルートのWebサービスを支える共通インフラ「RAFTEL」
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
 
[AWS Summit 2012] 基調講演 Day2: Go Enterprise!
[AWS Summit 2012] 基調講演 Day2: Go Enterprise! [AWS Summit 2012] 基調講演 Day2: Go Enterprise!
[AWS Summit 2012] 基調講演 Day2: Go Enterprise!
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
 
AWS Instance Schedulerは、ぜひ使うべきなのか?
AWS Instance Schedulerは、ぜひ使うべきなのか?AWS Instance Schedulerは、ぜひ使うべきなのか?
AWS Instance Schedulerは、ぜひ使うべきなのか?
 
20191001 AWS Black Belt Online Seminar AWS Lake Formation
20191001 AWS Black Belt Online Seminar AWS Lake Formation 20191001 AWS Black Belt Online Seminar AWS Lake Formation
20191001 AWS Black Belt Online Seminar AWS Lake Formation
 
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
 

Andere mochten auch

Gitlab meetup prm説明資料_2017_1117
Gitlab meetup prm説明資料_2017_1117Gitlab meetup prm説明資料_2017_1117
Gitlab meetup prm説明資料_2017_1117Tetsuya Sato
 
Kerasを用いた3次元検索エンジン@TFUG
Kerasを用いた3次元検索エンジン@TFUGKerasを用いた3次元検索エンジン@TFUG
Kerasを用いた3次元検索エンジン@TFUGOgushi Masaya
 
Deep dive into deeplearn.js
Deep dive into deeplearn.jsDeep dive into deeplearn.js
Deep dive into deeplearn.jsKai Sasaki
 
ユニキャスト社内の無線LANを支える技術
ユニキャスト社内の無線LANを支える技術ユニキャスト社内の無線LANを支える技術
ユニキャスト社内の無線LANを支える技術Wataru NOGUCHI
 
[Red Hat Forum 2017] Ansible Towerの実践!!エンタープライズのInfrastructure as Codeの現在(イマ)
[Red Hat Forum 2017] Ansible Towerの実践!!エンタープライズのInfrastructure as Codeの現在(イマ)[Red Hat Forum 2017] Ansible Towerの実践!!エンタープライズのInfrastructure as Codeの現在(イマ)
[Red Hat Forum 2017] Ansible Towerの実践!!エンタープライズのInfrastructure as Codeの現在(イマ)Shingo Kitayama
 
Alibaba Cloud Serverless
Alibaba Cloud ServerlessAlibaba Cloud Serverless
Alibaba Cloud Serverless真吾 吉田
 
Mbed OS 5の本を書いてみた
Mbed OS 5の本を書いてみたMbed OS 5の本を書いてみた
Mbed OS 5の本を書いてみたJunichi Katsu
 
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!Yasuyuki Ogawa
 
一年目がWatsonを調べてみた Discovery編
一年目がWatsonを調べてみた Discovery編一年目がWatsonを調べてみた Discovery編
一年目がWatsonを調べてみた Discovery編Jin Hirokawa
 
Watson Build Challengeに参加してみた
Watson Build Challengeに参加してみたWatson Build Challengeに参加してみた
Watson Build Challengeに参加してみたWataru Koyama
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugMasatoshi Tada
 
ユニキャスト本社のネットを支える技術
ユニキャスト本社のネットを支える技術ユニキャスト本社のネットを支える技術
ユニキャスト本社のネットを支える技術Wataru NOGUCHI
 
Apache Mesosってなに
Apache MesosってなにApache Mesosってなに
Apache MesosってなにShingo Kitayama
 
AIは政治を変えるか_AI社会論発表_20170725
AIは政治を変えるか_AI社会論発表_20170725AIは政治を変えるか_AI社会論発表_20170725
AIは政治を変えるか_AI社会論発表_20170725Tetsuya Sato
 
JAWS-UG Santo 2014-07-05 Drupal on PaaS Cloud
JAWS-UG Santo 2014-07-05 Drupal on PaaS CloudJAWS-UG Santo 2014-07-05 Drupal on PaaS Cloud
JAWS-UG Santo 2014-07-05 Drupal on PaaS CloudANNAI_LLC
 
『わたしにもできるよっ、StaticPress+S3で 簡単・手軽にサイト構築!』のWordPressってこんなのって話とちょっと萌えのお話。
『わたしにもできるよっ、StaticPress+S3で 簡単・手軽にサイト構築!』のWordPressってこんなのって話とちょっと萌えのお話。『わたしにもできるよっ、StaticPress+S3で 簡単・手軽にサイト構築!』のWordPressってこんなのって話とちょっと萌えのお話。
『わたしにもできるよっ、StaticPress+S3で 簡単・手軽にサイト構築!』のWordPressってこんなのって話とちょっと萌えのお話。Chiharu Nagatomi
 
20140705 jawsug三都物語 aya&gyori フルスタックエンジニアとは
20140705 jawsug三都物語 aya&gyori フルスタックエンジニアとは20140705 jawsug三都物語 aya&gyori フルスタックエンジニアとは
20140705 jawsug三都物語 aya&gyori フルスタックエンジニアとはGyori Nagafuchi
 
女性インフラエンジニアとクラウド
女性インフラエンジニアとクラウド女性インフラエンジニアとクラウド
女性インフラエンジニアとクラウドYuko Oshima
 

Andere mochten auch (20)

GitLab Prometheus
GitLab PrometheusGitLab Prometheus
GitLab Prometheus
 
Gitlab meetup prm説明資料_2017_1117
Gitlab meetup prm説明資料_2017_1117Gitlab meetup prm説明資料_2017_1117
Gitlab meetup prm説明資料_2017_1117
 
Stock prediction
Stock predictionStock prediction
Stock prediction
 
Kerasを用いた3次元検索エンジン@TFUG
Kerasを用いた3次元検索エンジン@TFUGKerasを用いた3次元検索エンジン@TFUG
Kerasを用いた3次元検索エンジン@TFUG
 
Deep dive into deeplearn.js
Deep dive into deeplearn.jsDeep dive into deeplearn.js
Deep dive into deeplearn.js
 
ユニキャスト社内の無線LANを支える技術
ユニキャスト社内の無線LANを支える技術ユニキャスト社内の無線LANを支える技術
ユニキャスト社内の無線LANを支える技術
 
[Red Hat Forum 2017] Ansible Towerの実践!!エンタープライズのInfrastructure as Codeの現在(イマ)
[Red Hat Forum 2017] Ansible Towerの実践!!エンタープライズのInfrastructure as Codeの現在(イマ)[Red Hat Forum 2017] Ansible Towerの実践!!エンタープライズのInfrastructure as Codeの現在(イマ)
[Red Hat Forum 2017] Ansible Towerの実践!!エンタープライズのInfrastructure as Codeの現在(イマ)
 
Alibaba Cloud Serverless
Alibaba Cloud ServerlessAlibaba Cloud Serverless
Alibaba Cloud Serverless
 
Mbed OS 5の本を書いてみた
Mbed OS 5の本を書いてみたMbed OS 5の本を書いてみた
Mbed OS 5の本を書いてみた
 
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
 
一年目がWatsonを調べてみた Discovery編
一年目がWatsonを調べてみた Discovery編一年目がWatsonを調べてみた Discovery編
一年目がWatsonを調べてみた Discovery編
 
Watson Build Challengeに参加してみた
Watson Build Challengeに参加してみたWatson Build Challengeに参加してみた
Watson Build Challengeに参加してみた
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
 
ユニキャスト本社のネットを支える技術
ユニキャスト本社のネットを支える技術ユニキャスト本社のネットを支える技術
ユニキャスト本社のネットを支える技術
 
Apache Mesosってなに
Apache MesosってなにApache Mesosってなに
Apache Mesosってなに
 
AIは政治を変えるか_AI社会論発表_20170725
AIは政治を変えるか_AI社会論発表_20170725AIは政治を変えるか_AI社会論発表_20170725
AIは政治を変えるか_AI社会論発表_20170725
 
JAWS-UG Santo 2014-07-05 Drupal on PaaS Cloud
JAWS-UG Santo 2014-07-05 Drupal on PaaS CloudJAWS-UG Santo 2014-07-05 Drupal on PaaS Cloud
JAWS-UG Santo 2014-07-05 Drupal on PaaS Cloud
 
『わたしにもできるよっ、StaticPress+S3で 簡単・手軽にサイト構築!』のWordPressってこんなのって話とちょっと萌えのお話。
『わたしにもできるよっ、StaticPress+S3で 簡単・手軽にサイト構築!』のWordPressってこんなのって話とちょっと萌えのお話。『わたしにもできるよっ、StaticPress+S3で 簡単・手軽にサイト構築!』のWordPressってこんなのって話とちょっと萌えのお話。
『わたしにもできるよっ、StaticPress+S3で 簡単・手軽にサイト構築!』のWordPressってこんなのって話とちょっと萌えのお話。
 
20140705 jawsug三都物語 aya&gyori フルスタックエンジニアとは
20140705 jawsug三都物語 aya&gyori フルスタックエンジニアとは20140705 jawsug三都物語 aya&gyori フルスタックエンジニアとは
20140705 jawsug三都物語 aya&gyori フルスタックエンジニアとは
 
女性インフラエンジニアとクラウド
女性インフラエンジニアとクラウド女性インフラエンジニアとクラウド
女性インフラエンジニアとクラウド
 

Ähnlich wie GitLabを16万8千光年ワープさせた話(改)

GitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECT
GitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECTGitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECT
GitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECTWataru NOGUCHI
 
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7Wataru NOGUCHI
 
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)Kohsuke Kawaguchi
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用賢次 海老原
 
Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02Aya Komuro
 
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」Taisuke Inoue
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!ymmt
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべKaoru NAKAMURA
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編kimulla
 
Zabbixで楽して監視を開始 @OSC 2019 Tokyo/Spring
Zabbixで楽して監視を開始 @OSC 2019 Tokyo/SpringZabbixで楽して監視を開始 @OSC 2019 Tokyo/Spring
Zabbixで楽して監視を開始 @OSC 2019 Tokyo/SpringAtsushi Tanaka
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキングTakayuki Kondou
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話Yahoo!デベロッパーネットワーク
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2近藤 繁延
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuokaJunji Manno
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理Takafumi Yoshida
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望Tetsuo Yamabe
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Takashi Kanai
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 

Ähnlich wie GitLabを16万8千光年ワープさせた話(改) (20)

GitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECT
GitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECTGitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECT
GitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECT
 
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
 
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用
 
Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02
 
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
今から始めるUbuntu入門_202307.pdf
今から始めるUbuntu入門_202307.pdf今から始めるUbuntu入門_202307.pdf
今から始めるUbuntu入門_202307.pdf
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべ
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
 
Zabbixで楽して監視を開始 @OSC 2019 Tokyo/Spring
Zabbixで楽して監視を開始 @OSC 2019 Tokyo/SpringZabbixで楽して監視を開始 @OSC 2019 Tokyo/Spring
Zabbixで楽して監視を開始 @OSC 2019 Tokyo/Spring
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
 
Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~
Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~ Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~
Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 

Mehr von Wataru NOGUCHI

20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)Wataru NOGUCHI
 
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集Wataru NOGUCHI
 
みんなの知らないネットワークの話
みんなの知らないネットワークの話みんなの知らないネットワークの話
みんなの知らないネットワークの話Wataru NOGUCHI
 
ネットワーク技術を学ぶ(STP: Spanning Tree Protocol) ~Cisco で学ぶ L2 ネットワークの世界~
ネットワーク技術を学ぶ(STP: Spanning Tree Protocol) ~Cisco で学ぶ L2 ネットワークの世界~ネットワーク技術を学ぶ(STP: Spanning Tree Protocol) ~Cisco で学ぶ L2 ネットワークの世界~
ネットワーク技術を学ぶ(STP: Spanning Tree Protocol) ~Cisco で学ぶ L2 ネットワークの世界~Wataru NOGUCHI
 
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)Wataru NOGUCHI
 
ネットワーク7不思議
ネットワーク7不思議ネットワーク7不思議
ネットワーク7不思議Wataru NOGUCHI
 
できる!KickstartとAnsible!
できる!KickstartとAnsible!できる!KickstartとAnsible!
できる!KickstartとAnsible!Wataru NOGUCHI
 

Mehr von Wataru NOGUCHI (8)

20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
 
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
 
AWS入門!!
AWS入門!!AWS入門!!
AWS入門!!
 
みんなの知らないネットワークの話
みんなの知らないネットワークの話みんなの知らないネットワークの話
みんなの知らないネットワークの話
 
ネットワーク技術を学ぶ(STP: Spanning Tree Protocol) ~Cisco で学ぶ L2 ネットワークの世界~
ネットワーク技術を学ぶ(STP: Spanning Tree Protocol) ~Cisco で学ぶ L2 ネットワークの世界~ネットワーク技術を学ぶ(STP: Spanning Tree Protocol) ~Cisco で学ぶ L2 ネットワークの世界~
ネットワーク技術を学ぶ(STP: Spanning Tree Protocol) ~Cisco で学ぶ L2 ネットワークの世界~
 
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
 
ネットワーク7不思議
ネットワーク7不思議ネットワーク7不思議
ネットワーク7不思議
 
できる!KickstartとAnsible!
できる!KickstartとAnsible!できる!KickstartとAnsible!
できる!KickstartとAnsible!
 

Kürzlich hochgeladen

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Kürzlich hochgeladen (9)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

GitLabを16万8千光年ワープさせた話(改)

  • 1. © 2017 UNICAST INC. 2017年11月17日 GitLab Meetup Tokyo #5: GitLab 10リリース記念 GitLabを16万8千光年ワープさせた話(改) GITLAB BIG UPGRADE PROJECT --amend
  • 2. 自己紹介 © 2017 UNICAST INC. 1 • ソフトウェアエンジニアといいつつ主にサーバの構築・運用とか ネットワーク機器の設定・運用をメインでやっています • オンプレおじさん@31歳 • 日々Ansibleのプレイブックを書く、サーバのお守りをする • ボタン一発で欲しいサーバができるようにしたい • 大都会日立市(茨城県) • 好きなPodcast: Rebuild.fm LPIC Leve3 Certified Engineer Virtualization &High Availability 株式会社ユニキャスト ソフトウェアエンジニア 野口 航(Wataru NOGUCHI) @wnoguchi https://blog.pg1x.com/ Acclaim https://goo.gl/fwxMRB 過去のスライド https://www.slideshare.net/ watarunoguchi0727
  • 3. アジェンダ © 2017 UNICAST INC. 2 1. この発表で一番言いたいこと 2. 弊社のGitLabの歴史 3. GitLabを選択するポイント 4. 回想(2017年6月のこと) 5. アップグレード戦略 6. 7.4.3->9.2 までアップグレードする道のり 7. その後7~10月 8. デモ(2段階認証、 Mattermost)
  • 4. この発表について © 2017 UNICAST INC. 3 GitLabを7.4.3から10.0にアップグレードするまでの 道のりを紹介するもの
  • 5. 免責事項 © 2017 UNICAST INC. 4 git commit --amend –m “ 社内勉強会で発表したスライドの焼き直し https://www.slideshare.net/watarunoguchi0727/gitlab168- gitlab-big-upgrade-project “
  • 6. この発表で一番言いたいこと © 2017 UNICAST INC. 5 • 毎月リリースされるアップデートを絶対に放置しないこと • ペットと一緒で一回飼うと決めたら最後まで面倒見る • じゃないとあとで大きなツケを払うことになる • あんまり放置すると • アップグレードドキュメントも消される(e.g. ownCloud) • /(^o^)\
  • 7. 弊社のGitLabの歴史 © 2017 UNICAST INC. 6 古文書(Redmine, ChatWork)によれば 2012年12月10日 社内にGitLab3.1が爆誕 まだGitLabのリポジトリが GitHubにあったころ
  • 8. 弊社のGitLabの歴史 © 2017 UNICAST INC. 7 転生を繰り返す
  • 13. GitLabの導入を検討している人への情報 © 2017 UNICAST INC. 12 • GitLabは気軽に導入できる • SCMすら使わないプロジェクトでどうにかこうにかしてチーム内に 導入したことがある GitLabは気軽に導入できる
  • 14. GitLabの導入を検討している人への情報 © 2017 UNICAST INC. 13 • Ubuntu Server がおすすめ • CentOS だけがすべての選択肢ではない • 要求されているパッケージのバージョンが古いからビルド・手動で 持ってこなきゃ • e.g. Ruby, Redis, Git, Golang, PostgreSQL • CentOS7.3->7.4でちょっと痛い目を見た • firewalld複雑に設定してたらSSH繋がらなくなって涙目 (今もまだ直ってないように見受けられる) • Omnibusパッケージ版ならいい感じにやってくれる • GitLab社の開発がUbuntu Serverベースで行われているので公式が推奨す る方法を採用するのがよい ディストリビューションの選択 This installation guide was created for and tested on Debian/Ubuntu operating systems.
  • 15. GitLabの導入を検討している人への情報 © 2017 UNICAST INC. 14 • ナウい(死語)ソフトウェア、ミドルウェアを使う: GitLab, ownCloud, KONG, OpenStack等 • PHP7をベースとしたナウい(死語)LAMPスタックを使うならUbuntu Server • OSSでディストリの指定がある Ubuntu Server が適しているシーン
  • 16. GitLabの導入を検討している人への情報 © 2017 UNICAST INC. 15 • 特に理由がないのであればOmnibusパッケージ版を強く推奨 • 企業規模がでかすぎて1ノード構成じゃむりぽというスケールアウト可能 な構成とらないといけない理由がある場合に限ってソース版を選択しま しょう • https://docs.gitlab.com/ce/install/requirements.html • https://docs.gitlab.com/ce/install/installation.html インストール方法の選択
  • 17. GitLabの導入を検討している人への情報 © 2017 UNICAST INC. 16 • 悪いことは言わないのでPostgreSQLを使っておきましょう • Omnibus版はEE版しかサポートしていなかったような・・・ 俺はMySQL(or MariaDB)が使いたいんだ
  • 18. GitLabの導入を検討している人への情報 © 2017 UNICAST INC. 17 • いつアップグレードするか? • 毎月21日頃にGitLab新バージョンがリリースされる • リリース直後は地雷を踏む可能性がある • 弊社は-0.1バージョンが古い、つまり1ヶ月遅れでアップグレードする • 毎月アップグレードは実施(じゃないとキャッチアップ大変になる) アップグレードポリシーの選択
  • 19. © 2017 UNICAST INC. 18 全然大変さが伝わってこない??
  • 20. 回想(2017年6月のこと) © 2017 UNICAST INC. 19 • Ver 7.4.3 ソース版&MySQL • GitLabアップグレードしたい • 比べ物にならないぐらい機能も充実してる • UIもかっこよくなってる • 二段階認証対応 • なんかソースの検索かけようとするとInternal Server Error(ISE) になる • 重い Merge Request を走らせるとすぐ ISE で音を上げる • キツネのロゴがきもい • 青い草が生やせる • AD(LDAP)と連携できる • Slack Alternative の Mattermost が使える • そもそもバージョンが古いままであること自体が良くない • 脆弱性の塊
  • 21. © 2017 UNICAST INC. 20 当時 7.4.3 ソース版 MySQL
  • 22. © 2017 UNICAST INC. 21 最新版 9.2.7 Omnibus パッケージ PostgreSQL 推奨
  • 23. アップグレードドキュメント一覧 © 2017 UNICAST INC. 22 https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update
  • 24. アップグレードドキュメント一覧 © 2017 UNICAST INC. 23 https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update
  • 25. アップグレードドキュメント一覧 © 2017 UNICAST INC. 24 https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update
  • 26. アップグレード戦略 © 2017 UNICAST INC. 25 • マイナーバージョンレベルまで完全に一致していないと無理 • ボツ 方法1: GitLab付属のツールでとったバックアップをインポートする
  • 27. アップグレード戦略 © 2017 UNICAST INC. 26 • ユーザー、グループ情報、公開鍵情報が一切引き継がれない • ゆえに開発、デプロイに大きく支障が出るので廃案 方法2: リポジトリだけ丸ごと最新GitLabに移し替える
  • 28. アップグレード戦略 © 2017 UNICAST INC. 27 • Pros: もっとも安全・確実な方法 • Cons: ひとつひとつ検証して確認していかなければならないためアップグ レードにものすごい時間がかかる • 採用 方法3: 愚直にGitLab社の提供しているソースバージョンのアップグレード方 法を一個一個実施していく
  • 29. アップグレードドキュメント一覧(再掲) © 2017 UNICAST INC. 28 https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update
  • 30. アップグレードドキュメント一覧(再掲) © 2017 UNICAST INC. 29 https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update
  • 31. アップグレードドキュメント一覧(再掲) © 2017 UNICAST INC. 30 https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update
  • 33. アップグレード戦略 © 2017 UNICAST INC. 32 • 現行本番KVM仮想マシンをシャットダウンしてイメージ丸ごとコピー • イメージをraw形式からvmdk形式に変換 • VMware Workstation上でバージョンごとにスナップショットをとっていつでも切 り戻しできるようにして検証 (超便利!!超おすすめ!!) • RDBMSの変換はPythonのバージョンが違ってかなり大変そうなので最新版まで 上げてからやる (そう思っていた時期が私にもありました) • なぜRDBMSの変換が必要なのか • GitLabがPostgreSQLを使うことを強く推奨 • OmnibusパッケージでMySQLがサポートされるのはGitLab EEのみ • GitLab CEはPostgreSQL一択 • 検証が全部済んだら • 土日使って一気に本番環境をアップグレード • ついでにOmnibusパッケージ版にも変換、ディストリビューションもCentOS6.9 からちゃんと公式でテストされているUbuntu Server16.04 LTSに
  • 34. 検証: 7.4.3→7.14.3 © 2017 UNICAST INC. 33 • 2回失敗 • Redisのソケット化がうまくいかなかった • 3回目にしてやっと成功 • 本当に大丈夫なのかと思った • diff取るの大変。。。
  • 36. 検証: 7.14.3→8.0 © 2017 UNICAST INC. 35 • メジャーバージョンアップ • diff取るの大変。。。
  • 37. 検証: 8.0→8.11→8.5 © 2017 UNICAST INC. 36 • 8.0→8.17までやる予定だった • だんだんバージョンアップ作業に慣れてきた • というかこのあたりから必要な新設定ファイルを git show abc123>8.0/new/gitlab.yml のように予め8.0,8.1,8.2,…,9.0,9.1,9.2まで抽出しておく • そして差分をWinMergeで視覚的に比較、慎重にvim :sp Vjy C-b w p する • という効率的なやり方に切り替えていく • 頭の切り替えが大変だから • patchコマンド使っても良かったかもしれない • でもdiffとるのすごくつらい。。。。 • 0.1増えるだけでちょこちょこ設定ファイルやミドルウェアが変わる • 8.11でついにMySQLのマイグレーションが失敗するようになった • mysqldumpもMySQL server has gone away • gone awayしなくなるまでスナップショット戻す • 8.5まで戻る • MySQLからPostgreSQLに変換することを真剣に検討しなければいけなくなる
  • 39. 検証: MySQL→PostgreSQL RDBMS変換 © 2017 UNICAST INC. 38 • CentOS6.9で標準で入っているPythonのバージョンは2.4 • PostgreSQLに変換するにはPython 2.7が必要 • ビルドするのは絶対イヤ • あちこち探しまくってYumリポジトリ見つける(一時的にPython 2.7が使える) • RDBMS変換スクリプトのgitlabブランチをチェックアウトして変換実施 • 動いた。。。。。 • なんで動いているのかわからない。。。。 • 奇跡の技では。。。 $ sudo yum install centos-release-scl-rh $ sudo yum --enablerepo=centos-sclo-rh -y install python27 $ scl enable python27 bash $ git clone https://github.com/gitlabhq/mysql-postgresql-converter.git -b gitlab $ cd mysql-postgresql-converter $ mysqldump --compatible=postgresql --default-character-set=utf8 -r gitlab_production.mysql -u root gitlab_production -p $ python db_converter.py gitlab_production.mysql gitlabhq_production.psql
  • 42. 検証: 8.5→8.17 © 2017 UNICAST INC. 41 • バックエンドをPostgreSQLに改めて再度挑戦 • 今度は8.16まで素直に動く • 8.16ちょっと詰まる • けど8.17までアップグレードできた • diff取るの大変だよ。。。。
  • 43. 検証: 8.17→9.0 © 2017 UNICAST INC. 42 • メジャーバージョンアップ • あと一息。。 • 相変わらずdiff取るの大変だよ。。。。
  • 44. 検証: 9.0→9.2 © 2017 UNICAST INC. 43 • ガシガシミドルウェアの変更が入る • いつのまにかグループに公開制御がついていて(8.6あたりから)デフォルトで全 世界に公開する設定になっていて50+個ぐらいのグループをpublicからprivateに 修正。。。 • やっと検証完了(したと思ったら9.3がリリースされた) • リリースから1ヶ月ぐらい寝かせないとバグ満載で生きた心地しないのでここで うちやめ
  • 45. 本番: 7.4.3→9.2 © 2017 UNICAST INC. 44 • 今までの検証結果をまとめた手順書ベースに一気にアップグレード • 大ワープ • 予め検証済みの設定ファイル一式をバージョンを一つ上げるごとにコピーして行 くのでかなり高速 • 万が一に備えてVMはイメージごとバックアップ
  • 46. 本番: CentOS 6.9 Src. Ver. → Ubuntu Server 16.04 LTS Omnibus Package Ver. © 2017 UNICAST INC. 45 • 今度はソースバージョンのGitLabをOmnibusパッケージ版のGitLabに変換 • これは検証間に合ってなかった • 一発勝負 • ついでにディストリビューションもUbuntu Server 16.04 LTSに変更 • なぜなら開発、テストは主にUbuntu Serverをベースに行われているから • CentOSは安定している代わりにパッケージのバージョンが圧倒的に古く、無いソ フトウェアは自力でビルドする必要がある • 一応うまくいった • LDAP認証対応(Active Directory) • httpsのURLクローン対応
  • 47. 本番: 7.4.3→9.2 © 2017 UNICAST INC. 46 GitLabロードアベレージ上昇中
  • 48. 本番: 7.4.3→9.2 © 2017 UNICAST INC. 47 CPU使用率60%
  • 49. 本番: 7.4.3→9.2 © 2017 UNICAST INC. 48 90%
  • 50. 本番: 7.4.3→9.2 © 2017 UNICAST INC. 49 メモリ使用量も上昇させます。
  • 51. 本番: 7.4.3→9.2 © 2017 UNICAST INC. 50 CPU使用率120%
  • 52. 本番: 7.4.3→9.2 © 2017 UNICAST INC. 51 秒読み開始
  • 53. 本番: 7.4.3→9.2 © 2017 UNICAST INC. 52 3
  • 54. 本番: 7.4.3→9.2 © 2017 UNICAST INC. 53 2
  • 55. 本番: 7.4.3→9.2 © 2017 UNICAST INC. 54 1
  • 56. 本番: 7.4.3→9.2 © 2017 UNICAST INC. 55 ワーーーープ!!!!!!!
  • 57. © 2017 UNICAST INC. 56 9.2.7
  • 58. 本番: 7.4.3→9.2 © 2017 UNICAST INC. 57 ついに、来たんだな、イス●ン●ル・・・
  • 59. 本番: 7.4.3→9.2 © 2017 UNICAST INC. 58 ああ・・・そうだ
  • 60. 所感 © 2017 UNICAST INC. 59 diff取るのすごく大変でした。。。
  • 61. 一番言いたいこと © 2017 UNICAST INC. 60 導入したソフトウェアの バージョンアップにはアンテナを張って こまめにアップデートしていくべき
  • 62. その後 © 2017 UNICAST INC. 61 • 順調にアップデートを重ねていく • 7月 9.3 • 8月 9.4 • 9月 9.5 • 10月 10.0 基本的にVMのスナップショットとって sudo apt-get -y install gitlab-ce するだけ
  • 63. © 2017 UNICAST INC. 62 10.0になった!
  • 64. © 2017 UNICAST INC. 63 Next 10.1
  • 65. © 2017 UNICAST INC. 64 デモ
  • 66. デモ © 2017 UNICAST INC. 65 イス●ン●ルについたのでデモします。
  • 67. デモ:2段階認証 © 2017 UNICAST INC. 66 • 現在のGitLabは2段階認証に対応しています • AuthyなりGoogle Authenticatorなり使ってもよし • ハードウェアトークンYubiKeyにも対応 • Your Ubiquitous Key • https://www.yubico.com/ • https://www.yubico.com/why-yubico/how-yubikey-works/ • 秘密鍵、管理してますか? YubiKeyで鍵の一元管理とSSH接続、2段階認 証の高速化を試す – Qiita https://qiita.com/dseg/items/77d77467970b1b510285 • Amazon • https://www.amazon.co.jp/dp/B018Y1Q71M YubiKeyを使った2段階認証
  • 68. デモ:Mattermost © 2017 UNICAST INC. 67 • 現在のGitLab OmnibusパッケージにはMattermostというSlack Alternative なチャットツールをバンドルしています
  • 69. デモ:Mattermost © 2017 UNICAST INC. 68 • GitLab Mattermost - GitLab Documentation https://docs.gitlab.com/omnibus/gitlab-mattermost/ • https://gist.github.com/wnoguchi/d9a79e616aaf06e81522ed681a2921c4 GitLabにMattermost入れたい人へ -#mattermost_external_url 'https://mattermost.example.com' +mattermost_external_url 'https://mattermost.demo.pg1x.com' -# mattermost['gitlab_auth_endpoint'] = "http://gitlab.example.com/oauth/authorize" -# mattermost['gitlab_token_endpoint'] = "http://gitlab.example.com/oauth/token" -# mattermost['gitlab_user_api_endpoint'] = "http://gitlab.example.com/api/v4/user" +mattermost['gitlab_auth_endpoint'] = "https://gitlab.demo.pg1x.com/oauth/authorize" +mattermost['gitlab_token_endpoint'] = "https://gitlab.demo.pg1x.com/oauth/token" +mattermost['gitlab_user_api_endpoint'] = "https://gitlab.demo.pg1x.com/api/v4/user"
  • 70. © 2017 UNICAST INC. 69 オフトゥン、、何もかも皆、懐かしい・・・
  • 71. © 2017 UNICAST INC. 70 帰ろう、オフトゥンへ・・・