■ はじめに
https://dk521123.hatenablog.com/entry/2020/01/21/221122
の続き。 AWS CodeBuildのプロジェクトを boto3 API を使って 構築する必要になったので、メモ。
目次
【1】関連する boto3 API 【2】その他・技術事項 1)CodeBuild の Docker イメージ 【3】サンプル 例1:AWS CodePipeline経由でのCodeBuild プロジェクト作成
【1】関連する boto3 API
* create_project : プロジェクト作成
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codebuild.html#CodeBuild.Client.create_project
environmentVariables
* CodeBuild に設定する環境変数
【2】その他・技術事項
1)CodeBuild の Docker イメージ
* 以下の公式サイトで要件に合うものをチョイスすればいい
https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/build-env-ref-available.html
【3】サンプル
例1:AWS CodePipeline経由でのCodeBuild プロジェクト作成
前提条件
* 以下を事前に用意しておくこと + CodeBuild 用のRole(serviceRole) + CodeBuild 用のKMSキー(encryptionKey)
プログラム
import boto3 codebuild_client = boto3.client('codebuild') response = codebuild_client.create_project( name='demo-codebuild-project', description='This is for a demo project', source={ 'type': 'CODEPIPELINE', }, artifacts={ 'type': 'CODEPIPELINE', }, cache={ 'type': 'NO_CACHE' }, environment={ 'type': 'LINUX_CONTAINER', 'image': 'aws/codebuild/standard:5.0', 'computeType': 'BUILD_GENERAL1_SMALL', 'environmentVariables': [ { 'name': 'S3_BUCKET', 'value': 'your-s3-bucket-name', 'type': 'PLAINTEXT' }, ], }, serviceRole='arn:aws:iam::111111111:role/xxxxxxxxxxxxxx', timeoutInMinutes=20, encryptionKey='kms-key/kms-key-for-codebuild', tags=[ { 'key': 'Name', 'value': 'demo-codebuild-project' }, ], logsConfig={ 'cloudWatchLogs': { 'status': 'ENABLED' }, 's3Logs': { 'status': 'DISABLED' } } ) print(response)
関連記事
CodeBuild ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/01/21/221122
CodePipeline ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/12/22/095608