CodeBuildOptions Struct
Options for customizing a single CodeBuild project.
Example
declare const source: pipelines.IFileSetProducer; // the repository source
declare const synthCommands: string[]; // Commands to synthesize your app
declare const installCommands: string[]; // Commands to install your toolchain
const pipeline = new pipelines.CodePipeline(this, 'Pipeline', {
// Standard CodePipeline properties...
synth: new pipelines.ShellStep('Synth', {
input: source,
commands: synthCommands,
}),
// Configure CodeBuild to use a drop-in Docker replacement.
codeBuildDefaults: {
partialBuildSpec: codebuild.BuildSpec.fromObject({
phases: {
install: {
// Add the shell commands to install your drop-in Docker
// replacement to the CodeBuild enviromment.
commands: installCommands,
},
},
}),
buildEnvironment: {
environmentVariables: {
// Instruct the AWS CDK to use `drop-in-replacement` instead of
// `docker` when building / publishing docker images.
// e.g., `drop-in-replacement build . -f path/to/Dockerfile`
CDK_DOCKER: { value: 'drop-in-replacement' },
},
},
},
});
Properties
buildEnvironmentoptionalBuildEnvironmentbuild_environmentoptionalBuildEnvironmentbuildEnvironmentoptionalBuildEnvironmentBuildEnvironmentoptionalBuildEnvironmentBuildEnvironmentoptionalBuildEnvironment#Default: Non-privileged build, SMALL instance, LinuxBuildImage.STANDARD_7_0
Default: No cache
fileSystemLocationsoptionalIFileSystemLocation[]file_system_locationsoptionaltyping.List[IFileSystemLocation]fileSystemLocationsoptionalList<IFileSystemLocation>FileSystemLocationsoptionalIFileSystemLocation[]FileSystemLocationsoptional*[]IFileSystemLocation#Default: no file system locations
A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, mountPoint, and type of a file system created using Amazon Elastic File System. Requires a vpc to be set and privileged to be set to true.
loggingoptionalLoggingOptionsloggingoptionalLoggingOptionsloggingoptionalLoggingOptionsLoggingoptionalLoggingOptionsLoggingoptionalLoggingOptions#Default: no log configuration is set
A CodeBuild project can create logs in Amazon CloudWatch Logs, an S3 bucket, or both.
partialBuildSpecoptionalBuildSpecpartial_build_specoptionalBuildSpecpartialBuildSpecoptionalBuildSpecPartialBuildSpecoptionalBuildSpecPartialBuildSpecoptionalBuildSpec#Default: No initial BuildSpec
The BuildSpec must be available inline--it cannot reference a file on disk.
rolePolicyoptionalPolicyStatement[]role_policyoptionaltyping.List[PolicyStatement]rolePolicyoptionalList<PolicyStatement>RolePolicyoptionalPolicyStatement[]RolePolicyoptional*[]PolicyStatement#Default: No policy statements added to CodeBuild Project Role
securityGroupsoptionalISecurityGroup[]security_groupsoptionaltyping.List[ISecurityGroup]securityGroupsoptionalList<ISecurityGroup>SecurityGroupsoptionalISecurityGroup[]SecurityGroupsoptional*[]ISecurityGroup#Default: Security group will be automatically created.
Only used if 'vpc' is supplied.
subnetSelectionoptionalSubnetSelectionsubnet_selectionoptionalSubnetSelectionsubnetSelectionoptionalSubnetSelectionSubnetSelectionoptionalSubnetSelectionSubnetSelectionoptionalSubnetSelection#Default: All private subnets.
Only used if 'vpc' is supplied.
timeoutoptionalDurationtimeoutoptionalDurationtimeoutoptionalDurationTimeoutoptionalDurationTimeoutoptionalDuration= Duration.hours(1)#For valid values, see the timeoutInMinutes field in the AWS CodeBuild User Guide.