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
第154回 雲勉 AWS Codeシリーズ盛り上げ隊 ~ Codeシリーズは砕けない ~
Search
iret.kumoben
February 18, 2025
Technology
0
54
第154回 雲勉 AWS Codeシリーズ盛り上げ隊 ~ Codeシリーズは砕けない ~
下記、勉強会での資料です。
https://youtu.be/Za5IVbCC8Ug
iret.kumoben
February 18, 2025
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第158回 雲勉 AWS CDK 入門 ~ プログラミング言語で書くインフラ Python 編 ~
iret
0
30
第157回 雲勉 AWSインフラ監視をNew Relicで行う際の個人的Tips
iret
0
36
第156回 雲勉 AWS on Windows入門
iret
0
70
第155回 雲勉 サーバレスアーキテクチャを 用いたコスト重視 AI サービス
iret
0
51
第153回 雲勉 トラシューが秒で終わる新機能 Amazon Q Developer operational investigations
iret
0
65
第150回 雲勉 AWS AppSyncではじめるGraphQL体験
iret
0
57
第151回 雲勉 プロジェクトのドキュメントにおける課題をAmazon Bedrockで解決してみる
iret
0
71
第152回 雲勉 シームレスなマルチリージョンへの移行と検討 ~Amazon EKSとAWS Global Acceleratorを使用した環境〜
iret
0
77
第149回 雲勉 AWS ベストプラクティスの最新と実際 AWS Well-Architected
iret
0
97
Other Decks in Technology
See All in Technology
問題解決に役立つ数理工学
recruitengineers
PRO
7
1.8k
LINE API Deep Dive Q1 2025: Unlocking New Possibilities
linedevth
1
160
お問い合わせ対応の改善取り組みとその進め方
masartz
1
350
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
140
IAMのマニアックな話 2025 ~40分バージョン ~
nrinetcom
PRO
8
890
PHPStan をできる限り高速化してみる
colopl
0
250
Amazon EKS Auto ModeでKubernetesの運用をシンプルにする
sshota0809
0
110
頻繁リリース × 高品質 = 無理ゲー? いや、できます!/20250306 Shoki Hyo
shift_evolve
0
150
Go製のマイグレーションツールの git-schemalex の紹介と運用方法
shinnosuke_kishida
1
400
製造業の会計システムをDDDで開発した話
caddi_eng
3
930
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
4
910
Compose MultiplatformにおけるiOSネイティブ実装のベストプラクティス
enomotok
1
210
Featured
See All Featured
Embracing the Ebb and Flow
colly
85
4.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Automating Front-end Workflow
addyosmani
1369
200k
Designing Experiences People Love
moore
141
23k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
The Cult of Friendly URLs
andyhume
78
6.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
102
18k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.7k
Scaling GitHub
holman
459
140k
Transcript
第154回 雲勉【オンライン】 AWS Codeシリーズ盛り上げ隊 ~ Codeシリーズは砕けない ~
自己紹介 2 松田 啓佑 • X(Twitter) ◦ @ksk_mats_ • 所属
◦ アイレット株式会社 CI事業部 • 業務 ◦ 自社プロダクト開発における非機能領域全般を担当 ◦ インフラ、オブザーバビリティ、バックエンド開発 • 認定 ◦ 2024 Japan AWS Ambassadors • 好きなAWSサービス ◦ ECS ◦ Codeシリーズ
アジェンダ 3 • おさらい : CI/CDとは • おさらい : AWS
Codeシリーズについて • Codeシリーズを取り巻く状況 • Codeシリーズのアップデート情報 • 最後に
4 1. CI/CDとは
5 CI/CDとは • Continuous Integration/Continuous Delivery = 継続的インテグレーション/継続的デリバリー • アプリケーション開発の各ステージを自動化することにより、アプリケーション開発を高速/効率化する手法
CI/CDがない世界 6 時間がかかる ヒューマンエラーが発生する ソースコードの変更 ビルド実施 テスト実施 デプロイ実施 リリース 人がやる範囲
CI/CDがある世界 7 ソースコードの変更 ビルド実施 テスト実施 デプロイ実施 リリース 人がやる範囲 時間はかからない ヒューマンエラーはゼロ
8 CI/CDの重要性 アジリティ (俊敏性)が求められる昨今のアプリ開発において CI/CDは必要不可欠な要素
9 アプリケーションの一般的なリリースサイクル • ソース:ソースコードの更新 • ビルド:コンパイル、コンテナイメージの作成 • テスト:単体テスト、結合テスト、UIテスト、ロードテスト • デプロイ:環境への適用
CI/CDではこれら各フェーズを自動化する => 自動化した一連のプロセスを CI/CDパイプライン と呼ぶ ソース ビルド テスト デプロイ
10 2. AWS Codeシリーズとは
11 AWS Codeシリーズとは プライベートなGitリポジトリ AWSリソースへのアプリケーションをデ プロイする 他のCodeシリーズを連携させて、 CI/CD パイプラインを構成する AWSにおいて、アプリケーションのリリースプロセスを担うサービス
ビルドやテストなど デプロイのための準備を行う
12 Codeシリーズで構成された CI/CDパイプラインのイメージ アーティファクトストア ソースステージ ビルドステージ デプロイステージ
13 軽く宣伝 https://www.youtube.com/watch?v=qiF4AcjNt1A&t=2563s
14 3. Codeシリーズを取り巻く状況
CodeCommitの新規利用終了 15 2024年7月末 CodeCommit新規利用受付終了のお知らせ https://x.com/jeffbarr/status/1818461689920344321
CodeCommitの新規利用終了 16 AWSユーザに動揺が走る CodeCommitが実質廃止? Codeシリーズも終わるのか?
まあ、落ち着きましょう 17 ??「安心してください!」
Codeシリーズのアップデート状況 18 CodeCommit新規受付終了後(2024年8月以降)、 Codeシリーズ全体で合計21件のアップデートがある状況
つまり、どういうことだってばよ? 19 Codeシリーズが見放された訳ではなさそう
20 4. Codeシリーズのアップデート情報
[CodePipeline] ステージ条件の導入 21 • リリース日 : 2024/09/28 • ポイント ◦
ステージの開始/終了を条件により、柔軟に制御できるように ◦ 条件判定にCommand/Lambda/Cloudwatch Alarmなどが利用可能 ◦ これによりワークフロー的な制御が可能になった AWS CodePipeline が、パイプラインゲートを実装するためのステージレベルの条件を導入
[CodePipeline] ステージ条件に変数チェックルールを導入 22 • リリース日 : 2024/09/27 • ポイント ◦
ステージ条件判定にて、CodePipelineの変数を閾値と比較して評価できる ◦ CodeBuildアクションの出力変数などと組み合わせるユースケースが多そう ◦ これによりステージ条件がより柔軟に AWS CodePipeline がステージレベルの条件にパイプライン変数チェックルールを導入
[CodePipeline] コマンド実行アクションプロバイダーを導入 23 • リリース日 : 2024/10/04 • ポイント ◦
シェルコマンドを実行するというシンプルなアクションプロバイダー ◦ 従来ではCodeBuildを利用してコマンド実行する必要があった ◦ これにより、パイプライン内でのコマンド実行が簡単に AWS CodePipeline が新しい汎用コンピューティングアクションを導入
[CodePipeline] パイプラインのテンプレートの導入 24 • リリース日 : 2024/10/09 • ポイント ◦
パイプラインの作成時にテンプレートの利用か、スクラッチ作成を選択可能に ◦ ECS(Fargate)やCloudformationのCI/CDパイプラインがテンプレート化 ◦ これにより一般的な構成のパイプラインをスピーディーに実装できる AWS CodePipeline が新たな利用開始エクスペリエンスを導入
[CodePipeline] ステージのスキップを導入 25 • リリース日 : 2024/10/11 • ポイント ◦
ステージ条件によりステージをスキップさせることが可能に ◦ これによりパイプラインのワークフロー制御がより柔軟に AWS CodePipeline がステージのスキップを導入
[CodePipeline] ステージ障害時の自動再試行をサポート 26 • リリース日 : 2024/10/15 • ポイント ◦
ステージ内のアクションが失敗した際に、ステージ/アクションを自動で再試行することが 可能に ◦ 従来はアクションが失敗した場合は、ステージが失敗と判定されていた ◦ アクションの一時的なエラーの回避が簡単に AWS CodePipeline がステージ障害時の自動再試行をサポート
[CodePipeline] スターターテンプレートが OSSに 27 • リリース日 : 2024/11/08 • ポイント
◦ パイプラインのテンプレート集がOSSに ◦ テンプレートを利用することで、パイプラインの実装が容易に ◦ OSSなので、自分で作成したテンプレートもコントリビュート可能 簡単に始められる AWS CodePipeline のオープンソースのスターターテンプレート
[CodePipeline] “ECRへのプッシュ ”と“Inspectorでのスキャン ”がアクションとしてサポート 28 • リリース日 : 2024/11/25 •
ポイント ◦ CodePipelineのアクションに以下のアクションが新規追加 ▪ ECRBuildAndPublish アクション ▪ AWS InspectorScan アクション ◦ 今まではCodeBuildにて実装していた頻出アクションが、パイプラインで簡単に利用可 能に AWS CodePipeline が ECR イメージの公開と AWS InspectorScan を新しいアクションとしてサポート開始 [CodePipeline] 「ECRへのPush」と「Inspectorスキャン」がアクションとしてサポートされました!
[CodePipeline] デバッグ画面の強化 29 • リリース日 : 2025/01/16 • ポイント ◦
CodePipelineのデバッグ画面にて画面遷移なしで、ステージ/アクションの実行結果の 閲覧ができるように(一部対応していないプロバイダーあり) ◦ 従来はステージ/アクションごとに結果を閲覧する際は画面遷移が生じていた AWS CodePipeline が AWS マネジメントコンソールに新しいデバッグ機能を導入 AWS CodePipelineの新しいデバックインターフェースが実装されました!
[CodeBuild] Windowsイメージのビルドプロジェクトで VPC接続をサポート 30 • リリース日 : 2024/08/01 • ポイント
◦ ビルドプロジェクトにてWindowsイメージを利用した際に、VPC接続が可能に ◦ 東京リージョンでは利用不可(そもそも、ビルドプロジェクトにてWindowsイメージを利用 できるのがバージニア/オハイオ/オレゴン/アイルランドのみ) AWS CodeBuild が Windows での VPC 接続のサポートを開始
[CodeBuild] ARMイメージのリソースが強化 31 • リリース日 : 2024/08/05 • ポイント ◦
ビルドプロジェクトにて最大48vCPU/96GBのARMイメージが利用可能に AWS CodeBuild が 3 つの新しい ARM ベースのコンピューティングタイプのサポートを開始
[CodeBuild] Secret Managerによる複数のアクセストークンをサポート 32 • リリース日 : 2024/08/15 • ポイント
◦ ソースプロバイダーごとにアクセストークンを設定可能に ◦ OAuthおよびPATをSecrets Managerに保存して利用する ◦ これによりトークンの権限範囲を柔軟に調整できる AWS CodeBuild が AWS Secrets Manager による複数のアクセストークンのサポートを開始
[CodeBuild] GitHubへのアクセスに GitHub Apps を認証方式としてサポート 33 • リリース日 : 2024/08/15
• ポイント ◦ GitHubとの連携において、GitHub Appsが利用可能に ◦ GitHubとの連携がより簡単に AWS CodeBuild が GitHub Apps を使用したソースリポジトリへのアクセスのサポートを開始
[CodeBuild] ビルドプロジェクトで macOSビルドをサポート 34 • リリース日 : 2024/08/19 • ポイント
◦ iOSやmacOS向けのアプリケーションのCI/CDパイプラインを簡単に実装可能に ◦ macOSビルドはリザーブドキャパシティフリートでのみ利用可能(オンデマンドでは利用 不可) ◦ 東京リージョンでは利用不可(バージニア/オハイオ/オレゴン/フランクフルト/シドニーの み) AWS CodeBuild が Mac ビルドをサポートするようになりました AWS CodeBuild を使用して継続的インテグレーションパイプラインに macOS を追加する
[CodeBuild] GitLabランナーをサポート 35 • リリース日 : 2024/09/17 • ポイント ◦
CodeBuildプロジェクトをGitLabのセルフホストランナーとしてサポート ◦ GitLab CI/CDにてCodeBuildプロジェクトを利用可能に ◦ GitHub Actionランナーは2024年4月にサポート済み AWS CodeBuild がマネージド GitLab ランナーのサポート開始
[CodeBuild] リザーブドキャパシティフリートが NACLをサポート 36 • リリース日 : 2024/10/15 • ポイント
◦ リザーブドキャパシティフリートで構成されたビルドプロジェクトのアウトバンド通信を制 御可能に ◦ この機能を利用すると、CodeBuildが管理するプロキシサーバーにトラフィックがルー ティングされる AWS CodeBuild、マネージドネットワークアクセスコントロールリストのサポートを開始
[CodeBuild] ビルドプロジェクトの自動再試行のサポート 37 • リリース日 : 2024/10/29 • ポイント ◦
CodePipelineと同様に、CodeBuildプロジェクトでも自動再試行が可能に ◦ CodeBuid単体でも使い勝手が良くなった AWS CodeBuild でビルドの自動再試行のサポートを開始
[CodeBuild] リザーブドキャパシティのコンピューティングオプションの拡張 38 • リリース日 : 2024/11/06 • ポイント ◦
コンテナモードのリザーブドキャパシティのコンピューティングオプションが新しく18個選 択可能に ◦ リザーブドキャパシティでも幅広いビルド環境を実現可能に AWS CodeBuild でリザーブドキャパシティ用の追加コンピューティングタイプのサポートを開始
[CodeBuild] リザーブドキャパシティの Windows コンテナビルドをサポート 39 • リリース日 : 2024/11/12 •
ポイント ◦ リザーブドキャパシティフリートでWindows OSの実行モードにコンテナ(Docker)が利用 可能に ◦ Windows OSのビルド環境を低コストで利用可能に AWS CodeBuild がリザーブドキャパシティフリートでの Windows Docker ビルドをサポート開始
[CodeBuild] リザーブドキャパシティと Lambdaコンピューティングでバッチビルドをサポート 40 • リリース日 : 2025/01/10 • ポイント
◦ オンデマンドのEC2コンピューティングのみ対応していたバッチビルドを、リザーブドキャ パシティとLambdaコンピューティングでも対応 AWS CodeBuild がリザーブドキャパシティーと Lambda コンピューティングによるバッチビルドのサポートを開始
[CodeBuild] テストの分割と並列処理のサポート 41 • リリース日 : 2025/01/17 • ポイント ◦
対象テストフレームワークにおける、テスト分割と並列処理が簡単に実装可能に ◦ 機能を有効にすることでファイル単位でテストが並列実行され、パイプラインにおけるテ ストの所要時間を大幅に削減 AWS CodeBuild でテストの分割と並列処理のサポートを開始 CodeBuild がテストの分割と並列処理をサポートしました!
42 5. 最後に
最後に 43 • 今回の内容はあくまで主観に基づくもの • AWSはCodeシリーズのLTSを保証しているわけではない • Codeシリーズは続いて行くはずだが、CodeCommitは戻ってこない(はず) • Codeシリーズがなくならないことを祈りつつ、他ソリューションにも目を向けよう