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
ecspressoを活用したCI/CDパイプラインをアジャイル開発現場に導入してみたら
Search
Haruki Tsuchiya
August 08, 2023
Programming
2
3.1k
ecspressoを活用したCI/CDパイプラインをアジャイル開発現場に導入してみたら
2023/08/08 JAWS-UG コンテナ支部 #24 ecspresso MeetUp の発表資料です
Haruki Tsuchiya
August 08, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
190
RubyLSPのマルチバイト文字対応
notfounds
0
120
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
Click-free releases & the making of a CLI app
oheyadam
2
120
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
330
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
100
Amazon Qを使ってIaCを触ろう!
maruto
0
410
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
940
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
630
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
The Cult of Friendly URLs
andyhume
78
6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
RailsConf 2023
tenderlove
29
900
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Navigating Team Friction
lara
183
14k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
A Philosophy of Restraint
colly
203
16k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Transcript
ecspressoを活用したCI/CDパイプラインを アジャイル開発現場に導入してみたら 2023/08/08 JAWS-UG コンテナ支部 #24 ecspresso MeetUp
自己紹介 株式会社mediba バックエンドエンジニア 土屋 陽輝(つちや はるき) @hrktcy 経歴 ・情報系大学院修了→21年mediba入社 LIKE
・go言語 ・terraform ・ecspresso AWS Summit戦利品 AWSDevDay 2
今日お話しすること 3 弊社アジャイル開発現場で取り組んでいる ブランチ戦略とecspressoを活用したCI/CDパイプライン をご紹介し、得られた恩恵についてお話しします
アジェンダ • チーム構成/開発の進め方 • ブランチ戦略 • ecspressoを活用したCI/CDパイプライン • アジャイル開発現場にもたらした恩恵 4
5 チーム構成 プロダクトチーム(5~15名程度) PdM 1名 PO/Dir 1~3名 程度 Developer (FE/BE/AE)
2~7名 程度 SRE UNIT 0~1名 Creator (UI/UX) 0~2名 品質管理 UNIT 0~1名 • 開発手法 • アジャイル • インフラ • 価値提供の素早さの観点からECSを採用することが多い
開発の進め方 6 ドライバーとナビゲーターに分かれて開発する • 個々人で開発するより生産性は下がる • 経験の浅い人にとっては負担が大きい 場合がある メリット デメリット
• エラーや問題を早期発見できる • 全体で知識/スキルが共有される • 職能間の担当業務の垣根が軽減される
DevOpsをアジャイルに取り入れる 7 • ローンチに向けての生産性向上 • 継続的なリリースサイクルの実現
アジェンダ • チーム構成/開発の進め方 • ブランチ戦略 • ecspressoを活用したCI/CDパイプライン • アジャイル開発現場にもたらした恩恵 8
ブランチ戦略 • 各環境に反映されているソースコードの可視性が高い状態である • 誰でも簡単に運用ができる(シンプルである) • 前バージョンへの切り戻しが高速且つ容易である • 高速且つ信頼性の高いデリバリーが実現できる 9
ecspressoで高速且つ信頼性の高いデリバリーを実現する • タスク定義・サービスのみを一元管理 • アプリケーションリポジトリに 設定ファイルを配置できる • デプロイがシンプル • 別プロダクトにも流用しやすい
10
アジェンダ • チーム構成/開発の進め方 • ブランチ戦略 • ecspressoを活用したCI/CDパイプライン • アジャイル開発現場にもたらした恩恵 11
ecspressoを活用したCI/CDパイプライン 12 v1.0.0 リリースに向けて開発する時 main
ecspressoを活用したCI/CDパイプライン 13 release/* v1.0.0 ① リリース用ブランチを切る main
“環境-年月日_番号”の形式でタグをPush ↓ 資材をビルド&デプロイ* ecspressoを活用したCI/CDパイプライン 14 feature/* release/* v1.0.0 lintや単体テスト は
push時に自動実行 ② featureブランチを切って作業 Point: リリース用ブランチへのマージだけを考えるだけでよい dev-20230808_01 dev/stg環境で検証したい場合 ※デプロイ方式はCodeDeploy(Blue/Green) main
ecspressoを活用したCI/CDパイプライン 15 feature/* release/* v1.0.0 ③ リリース用ブランチにマージ Point: releaseブランチのPRに[build]コメントをすると CI周りを事前に行うように設定
main
ecspressoを活用したCI/CDパイプライン 16 feature/* release/* main v1.0.0 ④ prdブランチにマージ&承認 →ecspressoによるデプロイが実行 Point:
• デプロイ処理のみ走る • 失敗のリスクが低減される • 失敗原因の特定がしやすい • ecspresso deploy コマンド • codeDeployの終了を待つ(v2からデフォルト) • 新リビジョンの安定起動をGitHub Actionsで担保できる prd/*
ecspressoを活用したCI/CDパイプライン 17 feature/* release/* v1.0.0 v1.1.0 prd/* ⑤ リグレッションテスト後、mainにマージ •
切り戻しが必要になった場合 • v1.0.0地点からデプロイし直す main
アジェンダ • チーム構成/開発の進め方 • ブランチ戦略 • ecspressoを活用したCI/CDパイプライン • アジャイル開発現場にもたらした恩恵 18
アジャイル開発現場にもたらした恩恵 • アプリ開発に集中できる環境が整い、開発プロセスが大きく向上した • ecspressoが開発者のインフラに対する毛嫌いを減らしてくれた • O11yの観点を全員が考慮できるようになった • サイドカー設定も設定ファイルで可能 •
FireLens経由で監視SaaSと紐付け • WebトランザクションやAPMなどの柔軟な計装を組み込み、試しやすくなった 19
20 ecspressoを活用したDevOpsの取り組みによって 私たちのアジャイル開発現場は 更なる成長を遂げることができました! 最後に