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
28
第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
第153回 雲勉 トラシューが秒で終わる新機能 Amazon Q Developer operational investigations
iret
0
46
第150回 雲勉 AWS AppSyncではじめるGraphQL体験
iret
0
41
第151回 雲勉 プロジェクトのドキュメントにおける課題をAmazon Bedrockで解決してみる
iret
0
58
第152回 雲勉 シームレスなマルチリージョンへの移行と検討 ~Amazon EKSとAWS Global Acceleratorを使用した環境〜
iret
0
50
第149回 雲勉 AWS ベストプラクティスの最新と実際 AWS Well-Architected
iret
0
83
第148回 雲勉 Web アプリケーションセキュリティ
iret
0
47
第147回 雲勉 Amazon CloudWatchをウォッチ!
iret
0
58
第146回 雲勉 BLEAを眺めてCDKの書き方について学ぶ
iret
1
70
第145回 雲勉 Amazon ECSでサービス間通信する方法を調べてみよう
iret
0
71
Other Decks in Technology
See All in Technology
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
230
地方拠点で エンジニアリングマネージャーってできるの? 〜地方という制約を楽しむオーナーシップとコミュニティ作り〜
1coin
1
220
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
6.8k
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
160
アジャイル開発とスクラム
araihara
0
170
Building Products in the LLM Era
ymatsuwitter
10
5k
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
490
2.5Dモデルのすべて
yu4u
2
790
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
120
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.5k
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
140
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
410
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
How GitHub (no longer) Works
holman
313
140k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Speed Design
sergeychernyshev
26
790
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Six Lessons from altMBA
skipperchong
27
3.6k
Building an army of robots
kneath
302
45k
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シリーズがなくならないことを祈りつつ、他ソリューションにも目を向けよう