Slide 47
Slide 47 text
AWS CodeBuild のかゆいところ
● GitLab / GitBucketからは直接連携できないため間に
Jenkinsが必要
○ 逆にJenkinsを間に挟むことてGit Push単位での実行が可能になる
● ブランチ制御できないためMultibranch Pipelineと相性が悪い
○ ブランチの情報を環境変数で渡して
if文で制御する
//buildspec.yml
….
package:
commands:
- |
if [ -z "${BRANCH_NAME%%release/*}" ]; then
./package.sh
fi
artifacts:
commands:
- |
if [ -z "${BRANCH_NAME%%release/*}" ]; then
aws s3 cp artifacts "s3://bucket/${BRANCH_NAME#release/}/artifacts"
fi
https://github.com/takami228/jenkins-awscodebuild-starter
//Jenkinsfile
….
stages {
stage('codebuild') {
steps {
awsCodeBuild(
credentialsType: 'keys',
projectName: 'projectName',
region: 'aws-region',
sourceControlType: 'project',
sourceVersion: env.BRANCH_NAME,
envVariables: "[{BRANCH_NAME,${env.BRANCH_NAME}}]",
)
}
}