Amazon Web Services ブログ

[AWS Black Belt Online Seminar] AWS CodeStar & AWS CodePipeline 資料及び QA 公開

先日 (2020/11/11) 開催しました AWS Black Belt Online Seminar「AWS CodeStar & AWS CodePipeline」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。

20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline

AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます)

Q. CodeStarで構築される環境は CloudFormation のテンプレートとして公開されているのでしょうか?
A. AWS CodeStar テンプレートには AWS ランタイム依存関係をモデリングする AWS CloudFormation ファイルが含まれています。これはプロジェクト内に template.yml として保存されています。

AWS CodeStar User Guide: AWS CodeStar Project Templates

Q. 独自の AWS CodeStar テンプレートを作成および追加できますか? カスタムAWS CodeStar テンプレートを自分の組織と共有し、複数の AWS アカウントで使用したいと思います。
A. AWS CodeStar は用意されたテンプレートから構築する流れとなります。テンプレートに編集を行い共有されたい場合は、プロジェクト内の template.yml をカスタマイズして下さい。template.yml をカスタマイズすること Lambda Function などの任意のリソースを追加、変更することができます。

AWS CodeStar User Guide: AWS CodeStar Project Templates

Q. リポジトリとして、CodeCommit、パブリックなgithubをサポートしているとのことですが、クローズなgithub enterpriseと連携する方法等はS3使うくらいしかないでしょうか?
A. オンプレミスサーバーまたは EC2 インスタンス上で構築された GitHub Enterprise Server を”ホストの設定”として定義し、プロバイダーから接続設定を行うことで連携ができます。ホストの設定では VPC を設定することができるので、指定した VPC 経由で GitHub Enterprise Server と連携が可能となります。

Developer Tools console User Guide: Create a connection to GitHub Enterprise Server
AWS CodePipeline User Guide: GitHub Enterprise Server connections

Q. CodePipelineをGitHub Enterpriseと連携させることを検討中ですが、コミットステータスなどをCodePipelineのビルドステージから返すことは可能でしょうか?
A. はい、可能です。コミットステータスをGitHub の API にて取得した上でCodePipelineの変数として保持し、ビルドステージでの Invoke アクションにて Lambda Function から GitHub の API を呼び出すなどが考えられます。

Q. CodeBuildのビルド結果をslackに通知していますが、CodeBuildから成功失敗ビルドのjson情報にどんな理由で失敗しているかわからないので、詳細は別API叩くことで取得可能でしょうか
A. デフォルトの通知にはジョブの失敗メッセージが含まれないので、GetPipelineState 関数を呼び出す Lambda Function を記述して詳細を取得ください。

AWS CodePipeline API Reference: GetPipelineState

Q. CodePipelineのソースステージでパイプラインの実行条件を詳細に設定することはできますか?例えばCodeCommitやGitHubのブランチの中の特定のフォルダやファイルに変更があったときだけパイプラインを実行するなどの設定は可能ですか?
A. 現状はできません。代替案としては、特定のフォルダやファイルは別リポジトリとして用意し、複数リポジトリを指定してパイプラインで実行するなどが考えられます。

Q. CodePipelineはテキスト形式で管理できますか?GUIでパイプラインを作成し、それをテキスト形式でエクスポートできますか?また、テキスト形式を使ったサンプルがあるかどうか教えてもらえますか?
A. 画面にて作成したパイプラインはエクスポートはできませんが、パイプラインは AWS CLI を使いコマンドベースで作成できます。また AWS CloudFormation や AWS CDK をご利用頂く事でコードベースでクラウドインフラストラクチャを定義できます。

AWS CodePipeline User Guide: AWS CodePipeline command line reference
AWS Cloud Development Kit (AWS CDK) Developer Guide: Creating a pipeline using the AWS CDK

Q. アクションの粒度を細かくする、あるいは逆に1ステージ=1アクションにまとめる、それぞれのメリット・デメリットがあれば教えてください
A. 環境別にステージを分けて定義して頂くのが良いかと思います。またアクションはアクションプロバイダー毎に定義し、必要あれば invoke アクションで AWS Lambda 等呼び出すことをご検討下さい。

Q. CodePipeline上で動作させるCodeBuildと、素のCodeBuildでは、使える機能に違いはあるのでしょうか?(CodePipelineからビルドに使う場合の制限など)
A. こちら違いはありません。

Q. CodePipelineで渡されたソースアーティファクトをCodeBuildでCacheさせることは可能ですか?
A. 原則としてアーティファクトは都度生成されます。尚、AWS CodeBuildのCacheを使用することで、プロジェクトのビルドにかかる時間を節約できます。

AWS CodeBuild User Guide: Build caching in AWS CodeBuild

Q. パイプラインについて、codepipelineからjenkinsを呼び出すパターンの記載がありましたが、jenkinsの中でパイプラインを作成することもできるかと思います。jenkinsの中ではなく、codepipelineでパイプラインを作成するメリットは何がありますでしょうか。
A. AWS CodePipeline でパイプラインを構成する点としては、CI/CDに必要な機能が揃っているとお考え下さい。その上で本サービスを活用するメリットとしてはデプロイするまでのパイプラインがAWSのみで完結する、既存のサードパーティツールとも連携できる、アクションプロバイダーをベースとしてカスタマイズできる、その他マネージドサービスであるので高い可用性や運用負荷の軽減ができる、低コストで開始できるなどがあげられます。こちらはp16: (AWS を活用した CI/CD の特徴) にまとまっておりますのでご参照ください。

—–

今後の AWS Webinar | イベントスケジュール

直近で以下を予定しています。各詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております。

——

AWSome Day Online Conference

「AWSome Day Online」は、AWSの主要サービスや基礎知識を約 3 時間という短い時間で、ポイントを押さえて紹介いたします。技術的な面だけではなく、AWS クラウドを学ぶために必要となる知識を身に付けたい方、エンジニアのみならず、営業職、プリセールス職、学生まで幅広い方々におすすめします。

※この回ではAWSエキスパートによる技術的な内容についてチャット形式でのQ&Aを実施します。
※AWS サービスの導入に関するご相談も同時にチャット形式にて対応します。
※2020年は毎月第一水曜日に開催します。

日時:2020 年 12 月 2 日(水) 15:00 – 18:00 終了予定 | 詳細・お申込みについてはこちら≫

——

【オンラインセミナー(ハンズオン)】スケーラブルウェブサイト構築編

$25クーポン付き!
スケーラブルウェブサイト構築編 は、WordPressを使ったブログサイトの構築を通じて、スケーラブルな Web システム構築を学んでいただけるハンズオンセミナーです。主に取り扱う AWS サービスは Amazon EC2、Amazon RDS、ELB の3つです。また、作って終わりではなく、実際にEC2インスタンス1台を停止させ、その状態でもブログサイトにアクセスできることも確認します。前提となる必須知識はありませんので、スケーラブルな Web アーキテクチャについて学ぶ第一歩としてご活用ください。

※ AWSome Day Online Conference とセットでご視聴いただきますと効果敵です。
※当日はサポート講師が待機し、チャットで皆様の操作をサポートします。

日時:2020 年 12 月 3 日(木) 14:00 – 17:00 終了予定 | 詳細・お申込みについてはこちら≫

——

AWS Black Belt Online Seminar

12 月のアジェンダを公開しました。またセミナー中は内容に関する疑問点を質問することができます。参加された方だけの特権ですので、ぜひこの機会にご視聴ください。

  • 12/7(月)18:00-19:00 2020 年 AWS re:Invent 速報 Part1
  • 12/8(火)12:00-13:00 AWS Config update
  • 12/9(水)18:00-19:00 HPC on AWS
  • 12/14(月)18:00-19:00 2020 年 AWS re:Invent 速報 Part2
  • 12/15(火)12:00-13:00 AWS IoT Greengrass
  • 12/16(水)18:00-19:00 Amazon Timestream
  • 12/21(月)18:00-19:00 2020 年 AWS re:Invent 速報 Part3