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
84
第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
第173回 雲勉 ノーコードで生成 AI アプリを構築!Google Cloud AI Applications(旧 Vertex AI Agent Builder)入門
iret
0
33
第170回 雲勉 Lyria が切り拓く音楽制作の未来
iret
1
26
第169回 雲勉 AWS WAF 構築 RTA
iret
0
34
第168回 雲勉 JITNAの使い方とハマったポイントについて語る回
iret
0
36
第167回 雲勉 エージェント開発を加速する Agent Development Kit 入門
iret
1
48
第166回 雲勉 コードを読んで理解する AWS Amplify Gen2 Backend
iret
0
45
第165回 雲勉 Google Agentspace について
iret
0
58
第164回 雲勉 Agent Development Kit と MCP Toolbox for Databases で MCP 連携してみた
iret
1
110
第163回 雲勉 CircleCIで複数リポジトリ間のパイプラインを連携する
iret
1
41
Other Decks in Technology
See All in Technology
会社にデータエンジニアがいることでできるようになること
10xinc
9
1.5k
Yahoo!ニュースにおけるソフトウェア開発
lycorptech_jp
PRO
0
320
トヨタ生産方式(TPS)入門
recruitengineers
PRO
1
150
TypeScript入門
recruitengineers
PRO
3
200
MySQL HeatWave:サービス概要のご紹介
oracle4engineer
PRO
4
1.7k
ECS モニタリング手法大整理
yendoooo
1
120
自社製CMSからmicroCMSへのリプレースがプロダクトグロースを加速させた話
nextbeatdev
0
120
モバイルアプリ研修
recruitengineers
PRO
2
180
ZOZOTOWNフロントエンドにおけるディレクトリの分割戦略
zozotech
PRO
16
5.1k
Goss: New Production-Ready Go Binding for Faiss #coefl_go_jp
bengo4com
0
1.1k
DeNA での思い出 / Memories at DeNA
orgachem
PRO
3
1.3k
人と組織に偏重したEMへのアンチテーゼ──なぜ、EMに設計力が必要なのか/An antithesis to the overemphasis of people and organizations in EM
dskst
5
580
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
BBQ
matthewcrist
89
9.8k
The Invisible Side of Design
smashingmag
301
51k
The Cult of Friendly URLs
andyhume
79
6.5k
Navigating Team Friction
lara
189
15k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
GitHub's CSS Performance
jonrohan
1031
460k
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シリーズがなくならないことを祈りつつ、他ソリューションにも目を向けよう