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
63
Shohei kubo
くぼ
July 13, 2025
Tweet
Share
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
Agile that works and the tools we love
rasmusluckow
330
21k
GraphQLとの向き合い方2022年版
quramy
49
14k
It's Worth the Effort
3n
187
28k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Code Review Best Practice
trishagee
70
19k
Writing Fast Ruby
sferik
628
62k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
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構築の構築業務を通してアプリやコンテナの知識も学ぶこ とができた