AWS CodeBuild Buildspec
Jump to navigation
Jump to search
External
Internal
Overview
Example
version: 0.2
env:
variables:
CLOUDFORMATION_DEPLOYMENT_CONFIG_FILE: "cloudformation-deployment-configuration.json"
SOME_VARIABLE: "some value"
phases:
install:
commands:
- echo "'install' phase started on $(date)"
build:
commands:
- echo "'build' phase started on $(date)"
post_build:
commands:
- echo "'post_build' phase started on $(date)"
- echo "{\"Parameters\":{\"MyConfigurationParameterA\":\"blue\", \"MyConfigurationParameterB\":\"red\"}}" > ./${CLOUDFORMATION_DEPLOYMENT_CONFIG_FILE}
artifacts:
files:
- ${CLOUDFORMATION_DEPLOYMENT_CONFIG_FILE}
Structure
version
env
variables
This section sets environment variables that will propagate to the container that performs the build:
env:
variables:
MY_VARIABLE: 'some value'
Note that if this build project is part of a CodePipeline pipeline, which is set up with a CloudFormation stack template, additional environment variables can be set at CodeBuild project/CloudFormation stack template level and passed to the build container, as shown here: CodePipeline-Driven CodeBuild Builds. The availability of such environment variable can be tested
phases
install
commands
build
commands
post_build
commands
artifacts
If this build is driven by CodePipeline, the artifacts declared here are placed, as S3 objects, into the CodePipeline Build action's Output Artifact, which is an S3 "folder". For more details about CodePipeline output artifacts, see:
files
Examples
Verifying that an Environment Variable is Set
... phases: install: commands: - if [ -z "${AWS_REGION}" ]; then echo "AWS_REGION variable not set" 1>&2; exit 1; fi