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 を使用するには
-
CodeBuild コンソールでプロジェクトを作成します。詳細については、「ビルドプロジェクトの作成 (コンソール)」を参照してください。
ビルドを実行する AWS リージョンを選択します。
(オプション) CodeBuild ビルドコンテナによる VPC のリソースへのアクセスを許可するように Amazon VPC 設定を指定します。
プロジェクトの名前を書き留めます。これはステップ 3 で必要になります。
(オプション) ソースリポジトリが CodeBuild でネイティブにサポートされていない場合は、プロジェクトの入力ソースタイプとして Amazon S3 を設定できます。
-
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"] } ] }
-
Jenkins で自由形式のプロジェクトを作成します。
[Configure] (設定) ページで、[Add build step] (ビルドステップの追加)、[Run build on CodeBuild] (CodeBuild でビルドを実行) を選択します。
ビルドステップを設定します。
[Region (リージョン)]、[Credentials (認証情報)]、および [Project Name (プロジェクト名)] の値を入力します。
[Use Project source (プロジェクトソースを使用)] を選択します。
設定を保存し、Jenkins からビルドを実行します。
-
[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'