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
2.4k
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
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
2 週間で Twitter Bot を作ってみた
contour_gara
0
620
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
870
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
940
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
3
230
Git Rebase
bkuhlmann
11
1.6k
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
0
260
使ってみよう Azure AI Document Intelligence
kosmosebi
2
330
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
540
SIMD Parallel Programming with the Vector API
josepaumard
0
190
Elm Form Validation
bkuhlmann
0
510
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
110
Featured
See All Featured
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.5k
The Pragmatic Product Professional
lauravandoore
25
5.8k
YesSQL, Process and Tooling at Scale
rocio
164
13k
Typedesign – Prime Four
hannesfritz
36
2.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
A Tale of Four Properties
chriscoyier
151
22k
Clear Off the Table
cherdarchuk
84
310k
The MySQL Ecosystem @ GitHub 2015
samlambert
243
12k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
What's in a price? How to price your products and services
michaelherold
237
11k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
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の取り組みによって 私たちのアジャイル開発現場は 更なる成長を遂げることができました! 最後に