CodeBuild を使用するパイプラインを作成する (CodePipeline コンソール) - AWS CodeBuild

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CodeBuild を使用するパイプラインを作成する (CodePipeline コンソール)

CodeBuild を使用してソースコードをビルドおよびデプロイするパイプラインを作成するには、次の手順を実行します。

ソースコードのみをテストするパイプラインを作成するには、以下の操作を行います。

CodePipeline でパイプライン作成ウィザードを使用して、CodeBuild を使用するパイプラインを作成するには
  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. AWS CodePipeline コンソール (https://console.aws.amazon.com/codesuite/codepipeline/home) を開きます。

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

  4. パイプラインを作成します。CodePipeline 情報ページが表示されたら、[Create pipeline] (パイプラインの作成) を選択します。[Pipelines (パイプライン)] ページが表示された場合は、[Create pipeline (パイプラインの作成)] を選択します。

  5. [Step 1: Choose pipeline settings (ステップ 1: パイプラインの設定の選択)] ページで、[Pipeline name (パイプライン名)] にパイプラインの名前を入力します (例: CodeBuildDemoPipeline)。別の名前を選択した場合は、この手順全体でそれを使用してください。

  6. [Role name (ロール名)] として、以下のいずれかの操作を行います。

    [New service role (新しいサービスロール)] を選択し、[Role Name (ロール名)] に、新しいサービスロールの名前を入力します。

    [Existing service role] (既存のサービスロール) を選択し、このトピックの前提条件の一部として作成または特定した CodePipeline​ サービスロールを選択します。

  7. [Artifact store (アーティファクトストア)] で、次のいずれかの操作を行います。

    • [Default location (デフォルトの場所)] を選択し、デフォルトとして指定された S3 アーティファクトバケットなどのデフォルトのアーティファクトストアを、パイプラインに選択した AWS リージョン内のパイプラインに使用します。

    • S3 アーティファクトバケットなど、既に作成済みのアーティファクトストアがパイプラインと同じ AWS リージョンにある場合は、[Custom location (カスタムの場所)] を選択します。

    注記

    これはパイプラインのソースコードのソースバケットではありません。パイプラインのアーティファクトストアです。パイプラインごとに別個のアーティファクトストア (S3 バケットなど) が、パイプラインと同じ AWS リージョンに必要です。

  8. [Next] (次へ) をクリックします。

  9. [Step 2: Add source stage (ステップ 2: ソースステージの追加)] ページの [ソースプロバイダ] で、次のいずれかの操作を行います。

    • ソースコードの保存先が S3 バケットである場合は、[Amazon S3] を選択します。[バケット] で、ソースコードが含まれている S3 バケットを選択します。[S3 オブジェクトキー] に、ソースコードを含むファイルの名前 (例: file-name.zip) を入力します。[Next] (次へ) をクリックします。

    • ソースコードが AWS CodeCommit リポジトリに保存されている場合は、[CodeCommit] を選択します。[Repository name] で、ソースコードが含まれているリポジトリの名前を選択します。[ブランチ名] で、ビルドするソースコードのバージョンが含まれているブランチの名前を選択します。[Next] (次へ) をクリックします。

    • ソースコードが GitHub リポジトリに保存されている場合は、[GitHub] を選択します。[Connect to GitHub] を選択し、手順に従って GitHub に対して認証します。[Repository] で、ソースコードが含まれているリポジトリの名前を選択します。[ブランチ] で、ビルドするソースコードのバージョンが含まれているブランチの名前を選択します。

    [Next] (次へ) をクリックします。

  10. [Step 3: Add build stage] (ステップ 3: ビルドステージを追加する) ページで、[Build provider] (ビルドプロバイダー) として [CodeBuild] を選択します。

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

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

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

    重要

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

  12. [Step 4: Add deploy stage (ステップ 4: デプロイステージの追加)] ページで、次のいずれかの操作を行います。

    • ビルド出力アーティファクトをデプロイしない場合は、[Skip (スキップ)] を選択し、プロンプトが表示されたら、これを選択したことを確認します。

    • ビルド出力アーティファクトをデプロイする場合は、[Deployment provider (デプロイプロバイダ)] でデプロイプロバイダを選択し、次にプロンプトに応じて設定を指定します。

    [Next] (次へ) をクリックします。

  13. [確認] ページで、選択内容を確認し、[パイプラインの作成] を選択します。

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

    注記

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

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

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

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

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

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

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

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