AWS CodeBuild
ユーザーガイド (API バージョン 2016-10-06)

このガイドの手順では、新しいコンソールデザインがサポートされています。古いバージョンのコンソールを選択すると、古い概念が反映され、本ガイドの基本的な手順がそのまま適用されます。新しいコンソールのヘルプにアクセスするには、情報アイコンを選択します。

Jenkins で AWS CodeBuild を使用する

AWS CodeBuild の Jenkins プラグインを使用すると、AWS CodeBuild を Jenkins のビルドジョブと統合することができます。Jenkins ビルドノードにビルドジョブを送信する代わりに、プラグインを使用してビルドジョブを AWS CodeBuild に送信します。これにより、Jenkins ビルドノードのプロビジョニング、設定、および管理が不要になります。

Jenkins のセットアップ

AWS CodeBuild プラグインを使用する場合の Jenkins のセットアップの詳細については、AWS DevOps ブログの Simplify Your Jenkins Builds with AWS CodeBuild のブログ投稿を参照してください。AWS CodeBuild Jenkins は、https://github.com/awslabs/aws-codebuild-jenkins-plugin よりダウンロードできます。

プラグインをインストールする

既に Jenkins をセットアップ済みで、AWS CodeBuild プラグインをインストールするのみの場合は、Jenkins インスタンスの Plugin Manager で、"AWS CodeBuild Plugin for Jenkins" を検索します。

プラグインの使用

Amazon VPC の外部のソースで AWS CodeBuild を使用するには

  1. AWS CodeBuild コンソールでプロジェクトを作成します。詳細については、「ビルドプロジェクトの作成 (コンソール)」を参照してください。

    • ビルドを実行するリージョンを選択します。

    • (オプション) AWS CodeBuild ビルドコンテナによる Amazon VPC のリソースへのアクセスを許可するように Amazon VPC 設定を指定します。

    • プロジェクトの名前を書き留めます。これはステップ 3 で必要になります。

    • (オプション) ソースリポジトリが AWS CodeBuild でネイティブにサポートされていない場合は、プロジェクトの入力ソースタイプとして Amazon S3 を設定できます。

  2. IAM コンソールで、Jenkins プラグインで使用する IAM ユーザーを作成します。

    • ユーザーの認証情報を作成するときに、[Programmatic Access (プログラムによるアクセス)] を選択します。

    • 次のようなポリシーを作成し、このポリシーをユーザーにアタッチします。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": ["arn:aws:logs:{{region}}:{{awsAccountId}}:log-group:/aws/codebuild/{{projectName}}:*"], "Action": ["logs:GetLogEvents"] }, { "Effect": "Allow", "Resource": ["arn:aws:s3:::{{inputBucket}}"], "Action": ["s3:GetBucketVersioning"] }, { "Effect": "Allow", "Resource": ["arn:aws:s3:::{{inputBucket}}/{{inputObject}}"], "Action": ["s3:PutObject"] }, { "Effect": "Allow", "Resource": ["arn:aws:s3:::{{outputBucket}}/*"], "Action": ["s3:GetObject"] }, { "Effect": "Allow", "Resource": ["arn:aws:codebuild:{{region}}:{{awsAccountId}}:project/{{projectName}}"], "Action": ["codebuild:StartBuild", "codebuild:BatchGetBuilds", "codebuild:BatchGetProjects"] } ] }
  3. Jenkins で自由形式のプロジェクトを作成します。

    • [Configure (設定)] ページで、[Add build step (ビルドステップの追加)] を選択し、[Run build on AWS CodeBuild (AWS CodeBuild でビルドを実行)] を選択します。

    • ビルドステップを設定します。

      • [Region (リージョン)]、[Credentials (認証情報)]、および [Project Name (プロジェクト名)] の値を入力します。

      • [Use Project source (プロジェクトソースを使用)] を選択します。

      • 設定を保存し、Jenkins からビルドを実行します。

  4. [Source Code Management (ソースコードの管理)] で、ソースの取得方法を選択します。Jenkins サーバーでの GitHub プラグイン (またはソースリポジトリプロバイダ用の Jenkins プラグイン) のインストールが必要になる場合があります。

    • [Configure (設定)] ページで、[Add build step (ビルドステップの追加)] を選択し、[Run build on AWS CodeBuild (AWS CodeBuild でビルドを実行)] を選択します。

    • ビルドステップを設定します。

      • [Region (リージョン)]、[Credentials (認証情報)]、および [Project Name (プロジェクト名)] の値を入力します。

      • [Use Jenkins source (Jenkins ソースを使用)] を選択します。

      • 設定を保存し、Jenkins からビルドを実行します。

Jenkins Pipeline プラグインで AWS CodeBuild プラグインを使用するには

  • Jenkins パイプラインプロジェクトページで、スニペットジェネレーターを使用して、パイプラインにステップとして AWS CodeBuild を追加するパイプラインスクリプトを生成します。次のようなスクリプトが生成されます。

    awsCodeBuild projectName: 'project', credentialsType: 'keys', region: 'us-west-2', sourceControlType: 'jenkins'