CodeBuild ビルドアクションをパイプラインに追加する (CodePipeline コンソール) - AWS CodeBuild

CodeBuild ビルドアクションをパイプラインに追加する (CodePipeline コンソール)

  1. 以下を使用して AWS Management Console にサインインします。

    • AWS ルートアカウント。これは推奨されません。詳細については、ユーザーガイドの「アカウントルートユーザー」を参照してください。

    • AWS アカウントの管理者ユーザー。詳細については、ユーザーガイドの「最初の AWS アカウントルートユーザーおよびグループの作成」を参照してください。

    • 以下の最小限のアクションを実行するアクセス許可を持つ AWS アカウントのユーザー。

      codepipeline:* iam:ListRoles iam:PassRole s3:CreateBucket s3:GetBucketPolicy s3:GetObject s3:ListAllMyBuckets s3:ListBucket s3:PutBucketPolicy codecommit:ListBranches codecommit:ListRepositories codedeploy:GetApplication codedeploy:GetDeploymentGroup codedeploy:ListApplications codedeploy:ListDeploymentGroups elasticbeanstalk:DescribeApplications elasticbeanstalk:DescribeEnvironments lambda:GetFunctionConfiguration lambda:ListFunctions opsworks:DescribeStacks opsworks:DescribeApps opsworks:DescribeLayers
  2. CodePipeline コンソール (http://console.aws.amazon.com/codesuite/codepipeline/home) を開きます。

  3. AWS リージョンセレクタで、パイプラインが配置されている AWS リージョンを選択します。このリージョンでは、CodeBuild をサポートしている必要があります。詳細については、「Amazon Web Services 全般のリファレンス」の「CodeBuild」を参照してください。

  4. [Pipelines (パイプライン)] ページで、パイプラインの名前を選択します。

  5. パイプラインの詳細ページの [ソース] アクションで、ツールヒントを選択します。[Output artifact (出力アーティファクト)] の値 (例: MyApp) をメモします。

    注記

    この手順では、[Source] ステージと [Beta] ステージの間のビルドステージ内にビルドアクションを追加する方法について説明します。ビルドアクションを別の場所に追加する場合は、ビルドアクションを追加する場所の直前のアクションのツールヒントを選択し、[Output artifact (出力アーティファクト)] の値をメモします。

  6. [編集] を選択します。

  7. [ソース] と [ベータ] ステージの間で、[Add (追加)] を選択します。

    注記

    この手順では、パイプラインの [Source] ステージと [Beta] ステージの間にビルドアクションを追加する方法について説明します。既存のステージにビルドアクションを追加するには、ステージで [Edit stage (ステージを編集)] を選択し、この手順のステップ 8 に進みます。ビルドステージを別の場所に追加するには、目的の場所で [Add stage (ステージの追加)] を選択します。

    パイプラインの [ソース] ステージと [ベータ] ステージの間にビルドステージを追加する方法について説明します。

  8. [Stage name (ステージ名)] に、ビルドステージの名前 (例: Build) を入力します。別の名前を選択する場合は、この手順全体でそれを使用します。

  9. 選択したステージの中で、[アクションの追加] を選択します。

    注記

    この手順では、ビルドステージの中にビルドアクションを追加する方法について説明します。ビルドアクションを別の場所に追加するには、目的の場所で [Add action (アクションの追加)] を選択します。まず、ビルドアクションを追加する既存のステージで [Edit stage (ステージを編集)] アイコンを選択する必要があります。

  10. [アクションの編集] の [アクション名] に、アクションの名前 (例: CodeBuild) を入力します。別の名前を選択する場合は、この手順全体でそれを使用します。

  11. [Action provider] (アクションプロバイダー) で、[CodeBuild] を選択します。

  12. 既存のビルドプロジェクトを使用する場合は、[Project name] (プロジェクト名) で、ビルドプロジェクトの名前を選択し、この手順の次のステップにスキップします。

    新しい CodeBuild ビルドプロジェクトを作成する必要がある場合は、「ビルドプロジェクトの作成 (コンソール)」の手順に従ってから、この手順に戻ります。

    既存のビルドプロジェクトを選択した場合、ビルド出力アーティファクトの設定がすでに定義されている必要があります (ただし、CodePipeline によってビルド出力の設定が上書きされます)。詳細については、「ビルドプロジェクトの作成 (コンソール)」および「ビルドプロジェクトの設定の変更 (コンソール)」にある「アーティファクト」の説明を参照してください。

    重要

    CodeBuild プロジェクトのウェブフックを有効にして、プロジェクトを CodePipeline のビルドステップとして使用すると、コミットごとに 2 つの等しいビルドが作成されます。1 つのビルドはウェブフックを通じてトリガーされ、別の 1 つは CodePipeline を通じてトリガーされます。請求はビルド単位で発生するため、両方のビルドに対して課金されます。したがって、CodePipeline を使用する場合は、CodeBuild でウェブフックを無効にすることをお勧めします。CodeBuild コンソールで、[Webhook] ボックスをオフにします。詳細については、「ビルドプロジェクトの設定の変更 (コンソール)」を参照してください。

  13. [入力アーティファクト] で、この手順で前に書き留めた出力アーティファクトを選択します。

  14. [出力アーティファクト] で、出力アーティファクトの名前を入力します (例: MyAppBuild)。

  15. [Add action] を選択します。

  16. [Save (保存)]、[Save (保存)] の順に選択し、パイプラインの変更を保存します。

  17. [Release change] を選択します。

  18. パイプラインが正常に実行されたら、ビルド出力アーティファクトを取得できます。CodePipeline コンソールにパイプラインを表示した状態で、[Build] (ビルド) アクションでツールヒントを選択します。[Output artifact] の値をメモします (例: MyAppBuild)。

    注記

    ビルド出力アーティファクトを取得するには、CodeBuild コンソールのビルドの詳細ページで [Build artifacts] (ビルドアーティファクト) リンクを選択することもできます。このページの内容を表示するには、「ビルドの詳細の表示 (コンソール)」を参照して、この手順のステップ 31 に進みます。

  19. https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  20. バケットのリストで、パイプラインで使用されるバケットを開きます。バケット名は、codepipeline-region-ID-random-number の形式に従う必要があります。バケットの名前を取得するには、AWS CLI を使用して CodePipeline get-pipeline コマンドを実行します。

    aws codepipeline get-pipeline --name my-pipeline-name

    出力では、pipeline オブジェクトには artifactStore オブジェクトが含まれ、それには、バケットの名前と location の値が含まれます。

  21. パイプラインの名前と一致するフォルダを開きます (パイプライン名の長さによってはフォルダ名が切り詰められている場合があります)。次に、この手順で前に書き留めた [出力アーティファクト] の値と一致するフォルダを開きます。

  22. ファイルの内容を展開します。そのフォルダに複数のファイルがある場合は、[Last Modified] タイムスタンプが最新であるファイルの内容を抽出します。(システムの ZIP ユーティリティで操作できるように、必要に応じて、ファイルに .zip 拡張子を付けます。) ビルド出力アーティファクトは、展開されたファイルの内容に含まれます。

  23. CodePipeline にビルド出力アーティファクトをデプロイするよう指示した場合は、デプロイプロバイダの説明を活用してデプロイターゲットのビルド出力アーティファクトを取得します。