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.5k
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
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.2k
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
230
Introduction to kotlinx.rpc
arawn
0
770
SwiftUI移行のためのインプレッショントラッキング基盤の構築
kokihirokawa
0
160
2025.2.14_Developers Summit 2025_登壇資料
0101unite
0
220
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
1
220
推しメソッドsource_locationのしくみを探る - はじめてRubyのコードを読んでみた
nobu09
2
330
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
270
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.5k
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.2k
Jakarta EE meets AI
ivargrimstad
0
510
Honoとフロントエンドの 型安全性について
yodaka
7
1.5k
Featured
See All Featured
Faster Mobile Websites
deanohume
306
31k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Building Your Own Lightsaber
phodgson
104
6.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Making Projects Easy
brettharned
116
6k
The Language of Interfaces
destraynor
156
24k
Designing Experiences People Love
moore
140
23k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
A better future with KSS
kneath
238
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
650
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の取り組みによって 私たちのアジャイル開発現場は 更なる成長を遂げることができました! 最後に