Jenkins で AWS CodeBuild を使用する - AWS CodeBuild

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

Jenkins で AWS CodeBuild を使用する

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

Jenkins のセットアップ

AWS CodeBuild プラグインを使用した Jenkins のセットアップ方法や、プラグインのソースコードのダウンロードについては、https://github.com/awslabs/aws-codebuild-jenkins-plugin をご覧ください。

プラグインのインストール

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

プラグインの使用

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

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

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

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

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

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

    • ユーザーの認証情報を作成するときに、[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 CodeBuild] (CodeBuild でビルドを実行) を選択します。

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

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

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

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

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

    • [設定] ページで、[ビルドステップの追加] を選択し、[AWS CodeBuild でビルドを実行] を選択します。

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

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

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

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

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

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