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
Shohei kubo
Search
くぼ
July 13, 2025
1
59
Shohei kubo
くぼ
July 13, 2025
Tweet
Share
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Navigating Team Friction
lara
188
15k
Faster Mobile Websites
deanohume
309
31k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
KATA
mclloyd
32
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Practical Orchestrator
shlominoach
190
11k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Transcript
CDKでCICDパイプライン を構築して苦労した話 久保翔平
CI/CDとは • ソフトウェア開発におけるビルド、テスト、デプロイといった プロセスを自動化する仕組みのこと • CI/CDを導入することで、リリースの高速化やコード品質の担保、 人的コストの削減といった効果が期待できる。 AWSのCI/CDサービス AWS CodeBuild
AWS CodeCommit AWS CodeDeploy AWS CodePipeline
CDKで作成したCICDパイプライン • インフラ構築用パイプライン -AWS サービスの構築を担当 -インフラ用のCDKスタックごとに作成 • アプリイメージビルド用パイプライン -アプリのビルドを担当。 -アプリイメージごとに作成(front用、back用など)
インフラ構築用パイプライン Account A環境 B環境 A環境と同様の構成 AWS CodePipeline(V2) AWS CodeBuild (Diff)
AWS CodeCommit Developer 手動 承認 AWS CodeBuild (Deploy) インフラ資材 手動起動 Source Deploy 意図しない更新によりAWS環境が 破壊されるのを防ぐ
インフラ構築用パイプライン Account A環境 B環境 A環境と同様の構成 AWS CodePipeline(V2) AWS CodeBuild (Diff)
AWS CodeCommit Developer 手動 承認 AWS CodeBuild (Deploy) インフラ資材 手動起動 Source Deploy 意図しない更新によりAWS環境が 破壊されるのを防ぐ
アプリイメージビルド用パイプライン Account 共通環境 AWS CodePipeline(V2) AWS CodeCommit AWS CodeBuild AWS
CodeArtifact Amazon ECR Amazon EventBridge AWS CodeBuild AWS CodeCommit Source Test Build mainへのマージを トリガーに起動 コンテナイメージ パッケージ
苦労する前の私 • CDKは触っていたが CI/CD系の構築未経験 • buildspec? (呪文) • アプリ系の知識もあまりない
苦労したこと • buildspecとビルド環境変数 ※buildspec.ymlとは ⇒ビルド実行時に実行する コマンド群を記したファイル AWS CodeBuild App/CDK Source
buildspec.ymlを実行 ビルド環境変数 AWS_ACCOUNT_ID=XXX AWS_REGION=??? ECR_NAME=〇〇〇 buildspec.yml
苦労したこと • buildspecとビルド環境変数 ※buildspec.ymlとは ⇒ビルド実行時に実行する コマンド群を記したファイル AWS CodeBuild App/CDK Source
buildspec.ymlを実行 ビルド環境変数 AWS_ACCOUNT_ID=XXX AWS_REGION=??? ECR_NAME=〇〇〇 buildspec.yml 環境変数を適切に設定することで buildspecの再利用性UP!
苦労したこと • アプリ、コンテナへの理解不足 始めはMavenって何? Dockerfileってどう書けばいいの?状態 イメージ構築時にパッケージの依存関係 が原因でエラー
苦労した後の私 • CDKは触っていたが CI/CD系の構築未経験 • buildspec? (呪文) • アプリ系の知識もあまりない •
パイプラインの動き完璧! • buildspecも任せて! • アプリ側の知識も習得!
学び • 業務を通して、安全なパイプラインの構築手法について理解した • ビルド環境変数を適切に設定することでbuildspecの再利用性が 増す • CI/CD構築の構築業務を通してアプリやコンテナの知識も学ぶこ とができた