Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
有志で組織横串に挑む - GitLab CI Runnerカイゼン -
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
bbrfkr
October 10, 2021
Technology
0
260
有志で組織横串に挑む - GitLab CI Runnerカイゼン -
bbrfkr
October 10, 2021
Tweet
Share
More Decks by bbrfkr
See All by bbrfkr
アプリエンジニアを救え! AWS CDKで実現するインフラCI・CD
bbrfkr
2
1.3k
[July Tech Festa 2019] Kubernetes on OpenStack におけるハマりどころ
bbrfkr
5
1.5k
OpenShiftでKubeVirtを試してみた
bbrfkr
1
1.1k
Kubernetes x スマートスピーカ ~ Kubernetesで実現するFaaS ~
bbrfkr
1
260
Virtual Kubelet + Fargate + EKSでノードレス Kubernetes を夢見た話
bbrfkr
5
2.3k
怖くない!コンテナ初心者に送るやさしいKubernetes入門
bbrfkr
20
6k
Other Decks in Technology
See All in Technology
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
220
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
5
2.4k
タスク管理も1on1も、もう「管理」じゃない - KiroとBedrock AgentCoreで変わった“判断の仕事”
yusukeshimizu
0
140
来期の評価で変えようと思っていること 〜AI時代に変わること・変わらないこと〜
estie
0
110
AI時代のシステム開発者の仕事_20260328
sengtor
0
300
Navigation APIと見るSvelteKitのWeb標準志向
yamanoku
2
130
FlutterでPiP再生を実装した話
s9a17
0
220
20260326_AIDD事例紹介_ULSC.pdf
findy_eventslides
0
110
AIエージェントを用いたメンバー育成支援について
csakurah
0
110
ThetaOS - A Mythical Machine comes Alive
aslander
0
210
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.2k
Kubernetesの「隠れメモリ消費」によるNode共倒れと、Request適正化という処方箋
g0xu
0
150
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
2
860
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
91
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
92
Fireside Chat
paigeccino
42
3.9k
Documentation Writing (for coders)
carmenintech
77
5.3k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
250
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
240
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
160
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
Navigating Team Friction
lara
192
16k
Transcript
有志で組織横串に挑む - GitLab CI Runnerカイゼン - 株式会社アイリッジ 斎藤辰徳
斎藤辰徳 (HN: bbrfkr) Hello! 2 所属:株式会社アイリッジ ミッション • OMOモバイルアプリ実行基盤開発 ◦
バックエンド ◦ クラウドインフラ (主にAWS)
自キー沼のご紹介 3
? ◉ 事業 ◦ OMO(Online Merges with Offline)ソリューション開発 ◦ OMOアプリの企画・開発
◉ 技術 ◦ インフラ開発・運用 → AWS × コンテナ がメイン ◦ Managed Serviceを積極活用したCloud Architecture ◦ ECS CLI v1 の国内トップレベルでの利用 AWS Fargate 4 Amazon ECS Amazon ECR Amazon Aurora Amazon Cognito AWS Lambda
Agenda 5 ◉ 弊社GitLabおよびCI環境の課題 ◉ 有志で構成された横串プロジェクトのご紹介 ◉ GitLab Runnerカイゼン ◉
弊社GitLabの今後の展望 ◉ まとめ
弊社GitLabおよびCI環境の課題 6
All in One問題 7 ◉ ほぼ全てのコンポーネントが一つのVMに?! gitaly gitlab-rails sidekiq static-data
nginx postgresql redis 何故かredisだけ 外出し?!
Runner非効率問題 8 ◉ 社内共有Runnerの管理者が不在
◉ 各PJで大小様々な、固有Group Runnerが乱立 共有Runner Runner非効率問題 9 A PJ B PJ
X PJ Y PJ
◉ All in One問題 ◉ Runner非効率問題 弊社GitLabおよびCI環境の課題 10 今回はこちらに対応した話
有志で構成された 横串プロジェクトのご紹介 11
Development Crossover PJ 12 ◉ 課題感 ◦ 担当案件の知見を社内での共有知に中々ならない ◦ 共有資産の責任所在と管理主体が曖昧になりがち
組織横断の課題に 開発者として挑む!
DC PJでやってきたこと 13 ◉ PM陣へ向けた技術資料作成 ◦ Slackインテグレーションの設定と仕組み解説 ◦ CloudWatchの分析ノウハウまとめ ◉
OpenAPI仕様準拠のモックサーバテンプレート ◉ 社内共有GitLab Runnerの集中管理・ビルド速度改善
GitLab Runnerカイゼン 14
解決したい課題とやったこと 15 ◉ 課題 ◦ 社内共有Runnerの管理者不在 ◦ PJ固有Group Runnerの乱立 ◉
やったこと ◦ 社内共有Runnerの運用・管理簡素化 ◦ 社内共有Runnerの管理主体のコミットメント
具体的には。。。 16
工夫したところ 17 ◉ コスト最適化 ◉ Runnerの障害検出 ◉ Runner破棄の事前処理 ◉ Docker
Storageの性能最適化
コスト最適化 18 ◉ 地味だけど大事なこと ◦ Spot Instanceの利用とリタイア対応 ◦ 営業日以外の縮退スケジュール (EventBridge)
Runnerの障害検出 19 ◉ Docker Storageが一杯になるとRunnerが無応答に... ◦ Root VolumeにDocker Storageを割り当てない ◉
Disk容量が一杯になりjobを捌けなくなる... ◦ RunnerにStorageのメトリクスを送らせる ◦ 容量が一定割合を超えたらRunner破棄 ◦ 一定期間メトリクスが来なかったらRunner破棄
Runner破棄の事前処理 20 ◉ Runnerはお行儀よく死ぬ必要がある ◦ 自分に対応するCloudWatchアラームの削除 ◦ 自分をGitLab上から登録解除 ◦ Slackに生きた証を残す
Docker Storageの性能最適化 21 ◉ インスタンスストアの活用 ◦ お高いインスタンスじゃないと容量が足りない... ◦ もう、普通にEBSでよくないかと思い始めた...
弊社GitLabの今後の展望 22
SaaSに移行したい 23
健全運用可能な状態を作る 24 ◉ 構成図の作成 ◉ 運用タスクの洗い出し ◦ version upなど ◉
運用タスクのドキュメンテーション
データサーバの分離 25 ◉ Aurora for PostgreSQL使いたい...けど...
GKE化 26 ◉ gitlab-railsなどの可用性担保 ◉ Kubernetes Executer
まとめ 27
まとめ 28 ◉ 弊社のGitLab、CIで考えていることのご共有 ◦ 横串Projectの存在 ◦ VM Runnerカイゼン(VM辛い... ◦
今後のGitLabの展望 ◉ もっとこうすれば...? というご意見お待ちしてます!
ご質問はお気軽にどうぞ ! ◉ twitter: bbrfkr ◉ mail:
[email protected]
Thanks! 29