AWS CodePipeline-Driven CodeBuild Builds
Jump to navigation
Jump to search
Internal
Overview
CodeBuild can be integrated with CodePipeline so CodeBuild build projects can be used at the build stage of a CodePipeline release pipeline, backing a CodePipeline build action.
Integration
The integration consists in the following steps:
Create the CodeBuild Build Project
The CodeBuild build project can be created automatically as part of an CloudFormation stack, most likely the same one that creates other resources required by the CodePipeline, and the pipeline itself. A typical CloudFormation specification is:
Resources: ... CodeBuildProject: Type: AWS::CodeBuild::Project Properties: Name: 'my-pipeline-integrated-build-project' Source: Type: CODEPIPELINE BuildSpec: 'buildspec.yml' Artifacts: Type: CODEPIPELINE Environment: Type: LINUX_CONTAINER ComputeType: BUILD_GENERAL1_SMALL Image: 'aws/codebuild/java:openjdk-8' PrivilegedMode: true EnvironmentVariables: - Name: TARGET_BUCKET Value: Fn::ImportValue: !Sub '${AWS::Region}-BuildBucket' - Name: REPOSITORY_URI Value: !Sub ${AWS::AccountId}.dkr.ecr.${AWS::Region}.amazonaws.com/${ECRRepository} - Name: SVC_TEMPLATE Value: !Ref SvcTemplate - Name: ENV Value: !Ref CFEnvironment ServiceRole: Fn::ImportValue: !Sub '${AWS::Region}-CodeBuildServiceRole' TimeoutInMinutes: 20