Skip to content
v2.274.0

CodeBuildOptions Struct ​

Options for customizing a single CodeBuild project.

Example ​

ts
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#
Partial build environment, will be combined with other build environments that apply.

Default: Non-privileged build, SMALL instance, LinuxBuildImage.STANDARD_7_0

cacheoptionalCachecacheoptionalCachecacheoptionalCacheCacheoptionalCacheCacheoptionalCache#
Caching strategy to use.

Default: No cache

fileSystemLocationsoptionalIFileSystemLocation[]file_system_locationsoptionaltyping.List[IFileSystemLocation]fileSystemLocationsoptionalList<IFileSystemLocation>FileSystemLocationsoptionalIFileSystemLocation[]FileSystemLocationsoptional*[]IFileSystemLocation#
ProjectFileSystemLocation objects for CodeBuild build projects.

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#
Information about logs for CodeBuild projects.

Default: no log configuration is set

A CodeBuild project can create logs in Amazon CloudWatch Logs, an S3 bucket, or both.

partialBuildSpecoptionalBuildSpecpartial_build_specoptionalBuildSpecpartialBuildSpecoptionalBuildSpecPartialBuildSpecoptionalBuildSpecPartialBuildSpecoptionalBuildSpec#
Partial buildspec, will be combined with other buildspecs that apply.

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#
Policy statements to add to role.

Default: No policy statements added to CodeBuild Project Role

securityGroupsoptionalISecurityGroup[]security_groupsoptionaltyping.List[ISecurityGroup]securityGroupsoptionalList<ISecurityGroup>SecurityGroupsoptionalISecurityGroup[]SecurityGroupsoptional*[]ISecurityGroup#
Which security group(s) to associate with the project network interfaces.

Default: Security group will be automatically created.

Only used if 'vpc' is supplied.

subnetSelectionoptionalSubnetSelectionsubnet_selectionoptionalSubnetSelectionsubnetSelectionoptionalSubnetSelectionSubnetSelectionoptionalSubnetSelectionSubnetSelectionoptionalSubnetSelection#
Which subnets to use.

Default: All private subnets.

Only used if 'vpc' is supplied.

timeoutoptionalDurationtimeoutoptionalDurationtimeoutoptionalDurationTimeoutoptionalDurationTimeoutoptionalDuration= Duration.hours(1)#
The number of minutes after which AWS CodeBuild stops the build if it's not complete.

For valid values, see the timeoutInMinutes field in the AWS CodeBuild User Guide.

vpcoptionalIVpcvpcoptionalIVpcvpcoptionalIVpcVpcoptionalIVpcVpcoptionalIVpc#
The VPC where to create the CodeBuild network interfaces in.

Default: No VPC