LinuxBuildImage Class
A CodeBuild image running x86-64 Linux.
This class has a bunch of public constants that represent the most popular images.
You can also specify a custom image using one of the static methods:
- LinuxBuildImage.fromDockerRegistry(image[, { secretsManagerCredentials }])
- LinuxBuildImage.fromEcrRepository(repo[, tag])
- LinuxBuildImage.fromAsset(parent, id, props)
Example
ts
const pipeline = new pipelines.CodePipeline(this, 'Pipeline', {
synth: new pipelines.ShellStep('Synth', {
input: pipelines.CodePipelineSource.connection('my-org/my-app', 'main', {
connectionArn:
'arn:aws:codestar-connections:us-east-1:222222222222:connection/7d2469ff-514a-4e4f-9003-5ca4a43cdc41', // Created using the AWS console * });',
}),
commands: ['npm ci', 'npm run build', 'npx cdk synth'],
}),
// Turn this on because the pipeline uses Docker image assets
dockerEnabledForSelfMutation: true,
});
pipeline.addWave('MyWave', {
post: [
new pipelines.CodeBuildStep('RunApproval', {
commands: ['command-from-image'],
buildEnvironment: {
// The user of a Docker image asset in the pipeline requires turning on
// 'dockerEnabledForSelfMutation'.
buildImage: codebuild.LinuxBuildImage.fromAsset(this, 'Image', {
directory: './docker-image',
}),
},
}),
],
});
Properties
AMAZON_LINUX_2IBuildImageamazon_linux_2IBuildImageAMAZON_LINUX_2IBuildImageAMAZON_LINUX_2IBuildImageAMAZON_LINUX_2IBuildImagerequiredstaticdeprecated#Use {@link LinuxBuildImage.AMAZON_LINUX_2_5 } instead.
AMAZON_LINUX_2_2IBuildImageamazon_linux_2_2IBuildImageAMAZON_LINUX_2_2IBuildImageAMAZON_LINUX_2_2IBuildImageAMAZON_LINUX_2_2IBuildImagerequiredstaticdeprecated#Use {@link LinuxBuildImage.AMAZON_LINUX_2_5 } instead.
AMAZON_LINUX_2_3IBuildImageamazon_linux_2_3IBuildImageAMAZON_LINUX_2_3IBuildImageAMAZON_LINUX_2_3IBuildImageAMAZON_LINUX_2_3IBuildImagerequiredstaticdeprecated#Use {@link LinuxBuildImage.AMAZON_LINUX_2_5 } instead.
AMAZON_LINUX_2_4IBuildImageamazon_linux_2_4IBuildImageAMAZON_LINUX_2_4IBuildImageAMAZON_LINUX_2_4IBuildImageAMAZON_LINUX_2_4IBuildImagerequiredstatic#The Amazon Linux 2 x86_64 standard image, version `4.0`.
AMAZON_LINUX_2_5IBuildImageamazon_linux_2_5IBuildImageAMAZON_LINUX_2_5IBuildImageAMAZON_LINUX_2_5IBuildImageAMAZON_LINUX_2_5IBuildImagerequiredstatic#The Amazon Linux 2023 x86_64 standard image, version `5.0`.
AMAZON_LINUX_2_ARMIBuildImageamazon_linux_2_armIBuildImageAMAZON_LINUX_2_ARMIBuildImageAMAZON_LINUX_2_ARMIBuildImageAMAZON_LINUX_2_ARMIBuildImagerequiredstaticdeprecated#Use {@link LinuxArmBuildImage.AMAZON_LINUX_2_ARM_3 } instead.
AMAZON_LINUX_2_ARM_2IBuildImageamazon_linux_2_arm_2IBuildImageAMAZON_LINUX_2_ARM_2IBuildImageAMAZON_LINUX_2_ARM_2IBuildImageAMAZON_LINUX_2_ARM_2IBuildImagerequiredstatic#Image "aws/codebuild/amazonlinux2-aarch64-standard:2.0".
AMAZON_LINUX_2_ARM_3IBuildImageamazon_linux_2_arm_3IBuildImageAMAZON_LINUX_2_ARM_3IBuildImageAMAZON_LINUX_2_ARM_3IBuildImageAMAZON_LINUX_2_ARM_3IBuildImagerequiredstatic#Image "aws/codebuild/amazonlinux2-aarch64-standard:3.0".
AMAZON_LINUX_2_CORETTO_11IBuildImageamazon_linux_2_coretto_11IBuildImageAMAZON_LINUX_2_CORETTO_11IBuildImageAMAZON_LINUX_2_CORETTO_11IBuildImageAMAZON_LINUX_2_CORETTO_11IBuildImagerequiredstatic#The Amazon Coretto 11 image x86_64, based on Amazon Linux 2.
AMAZON_LINUX_2_CORETTO_8IBuildImageamazon_linux_2_coretto_8IBuildImageAMAZON_LINUX_2_CORETTO_8IBuildImageAMAZON_LINUX_2_CORETTO_8IBuildImageAMAZON_LINUX_2_CORETTO_8IBuildImagerequiredstatic#The Amazon Coretto 8 image x86_64, based on Amazon Linux 2.
AMAZON_LINUX_2023_4IBuildImageamazon_linux_2023_4IBuildImageAMAZON_LINUX_2023_4IBuildImageAMAZON_LINUX_2023_4IBuildImageAMAZON_LINUX_2023_4IBuildImagerequiredstatic#The Amazon Linux 2023 x86_64 standard image, version `4.0`.
AMAZON_LINUX_2023_5IBuildImageamazon_linux_2023_5IBuildImageAMAZON_LINUX_2023_5IBuildImageAMAZON_LINUX_2023_5IBuildImageAMAZON_LINUX_2023_5IBuildImagerequiredstatic#The Amazon Linux 2023 x86_64 standard image, version `5.0`.
AMAZON_LINUX_2023_6IBuildImageamazon_linux_2023_6IBuildImageAMAZON_LINUX_2023_6IBuildImageAMAZON_LINUX_2023_6IBuildImageAMAZON_LINUX_2023_6IBuildImagerequiredstatic#The Amazon Linux 2023 x86_64 standard image, version `6.0`.
AMAZON_LINUX_2023_CORETTO_11IBuildImageamazon_linux_2023_coretto_11IBuildImageAMAZON_LINUX_2023_CORETTO_11IBuildImageAMAZON_LINUX_2023_CORETTO_11IBuildImageAMAZON_LINUX_2023_CORETTO_11IBuildImagerequiredstatic#The Amazon Coretto 11 image x86_64, based on Amazon Linux 2023.
AMAZON_LINUX_2023_CORETTO_8IBuildImageamazon_linux_2023_coretto_8IBuildImageAMAZON_LINUX_2023_CORETTO_8IBuildImageAMAZON_LINUX_2023_CORETTO_8IBuildImageAMAZON_LINUX_2023_CORETTO_8IBuildImagerequiredstatic#The Amazon Coretto 8 image x86_64, based on Amazon Linux 2023.
defaultComputeTypeComputeTypedefault_compute_typeComputeTypedefaultComputeTypeComputeTypeDefaultComputeTypeComputeTypeDefaultComputeTypeComputeTyperequired#The default `ComputeType` to use with this image, if one was not specified in `BuildEnvironment#computeType` explicitly.
The Docker image identifier that the build environment uses.
imagePullPrincipalTypemay be undefinedImagePullPrincipalTypeimage_pull_principal_typemay be undefinedImagePullPrincipalTypeimagePullPrincipalTypemay be undefinedImagePullPrincipalTypeImagePullPrincipalTypemay be undefinedImagePullPrincipalTypeImagePullPrincipalTypemay be undefinedImagePullPrincipalType#The type of principal that CodeBuild will use to pull this build Docker image.
repositorymay be undefinedIRepositoryrepositorymay be undefinedIRepositoryrepositorymay be undefinedIRepositoryRepositorymay be undefinedIRepositoryRepositorymay be undefinedIRepository#An optional ECR repository that the image is hosted in.
secretsManagerCredentialsmay be undefinedISecretsecrets_manager_credentialsmay be undefinedISecretsecretsManagerCredentialsmay be undefinedISecretSecretsManagerCredentialsmay be undefinedISecretSecretsManagerCredentialsmay be undefinedISecret#The secretsManagerCredentials for access to a private registry.
STANDARD_1_0IBuildImagestandard_1_0IBuildImageSTANDARD_1_0IBuildImageSTANDARD_1_0IBuildImageSTANDARD_1_0IBuildImagerequiredstaticdeprecated#Use {@link LinuxBuildImage.STANDARD_7_0 } instead.
STANDARD_2_0IBuildImagestandard_2_0IBuildImageSTANDARD_2_0IBuildImageSTANDARD_2_0IBuildImageSTANDARD_2_0IBuildImagerequiredstaticdeprecated#Use {@link LinuxBuildImage.STANDARD_7_0 } instead.
STANDARD_3_0IBuildImagestandard_3_0IBuildImageSTANDARD_3_0IBuildImageSTANDARD_3_0IBuildImageSTANDARD_3_0IBuildImagerequiredstaticdeprecated#Use {@link LinuxBuildImage.STANDARD_7_0 } instead.
STANDARD_4_0IBuildImagestandard_4_0IBuildImageSTANDARD_4_0IBuildImageSTANDARD_4_0IBuildImageSTANDARD_4_0IBuildImagerequiredstaticdeprecated#Use {@link LinuxBuildImage.STANDARD_7_0 } instead.
STANDARD_5_0IBuildImagestandard_5_0IBuildImageSTANDARD_5_0IBuildImageSTANDARD_5_0IBuildImageSTANDARD_5_0IBuildImagerequiredstatic#The `aws/codebuild/standard:5.0` build image.
STANDARD_6_0IBuildImagestandard_6_0IBuildImageSTANDARD_6_0IBuildImageSTANDARD_6_0IBuildImageSTANDARD_6_0IBuildImagerequiredstatic#The `aws/codebuild/standard:6.0` build image.
STANDARD_7_0IBuildImagestandard_7_0IBuildImageSTANDARD_7_0IBuildImageSTANDARD_7_0IBuildImageSTANDARD_7_0IBuildImagerequiredstatic#The `aws/codebuild/standard:7.0` build image.
STANDARD_8_0IBuildImagestandard_8_0IBuildImageSTANDARD_8_0IBuildImageSTANDARD_8_0IBuildImageSTANDARD_8_0IBuildImagerequiredstatic#The `aws/codebuild/standard:8.0` build image.
The type of build environment.
Methods
fromAsset(scope: Construct, id: string, props: DockerImageAssetProps): IBuildImage@staticmethod def from_asset(scope: Construct, id: str, props: DockerImageAssetProps) -> IBuildImagepublic static IBuildImage fromAsset(Construct scope, String id, DockerImageAssetProps props)public static IBuildImage FromAsset(Construct scope, string id, DockerImageAssetProps props)func FromAsset(Scope Construct, Id *string, Props DockerImageAssetProps) IBuildImagestatic#Uses an Docker image asset as a x86-64 Linux build image.
fromCodeBuildImageId(id: string): IBuildImage@staticmethod def from_code_build_image_id(id: str) -> IBuildImagepublic static IBuildImage fromCodeBuildImageId(String id)public static IBuildImage FromCodeBuildImageId(string id)func FromCodeBuildImageId(Id *string) IBuildImagestatic#Uses a Docker image provided by CodeBuild.
1 parameter · returns · example
Parameters
ididididId— The image identifier.
Returns: A Docker image provided by CodeBuild.
ts
'aws/codebuild/standard:4.0'
fromDockerRegistry(name: string, options?: DockerImageOptions): IBuildImage@staticmethod def from_docker_registry(name: str, options: typing.Optional[DockerImageOptions] = None) -> IBuildImagepublic static IBuildImage fromDockerRegistry(String name, DockerImageOptions options)public static IBuildImage FromDockerRegistry(string name, DockerImageOptions? options = null)func FromDockerRegistry(Name *string, Options DockerImageOptions) IBuildImagestatic#returns
Returns: a x86-64 Linux build image from a Docker Hub image.
fromEcrRepository(repository: IRepository, tagOrDigest?: string): IBuildImage@staticmethod def from_ecr_repository(repository: IRepository, tag_or_digest: typing.Optional[str] = None) -> IBuildImagepublic static IBuildImage fromEcrRepository(IRepository repository, String tagOrDigest)public static IBuildImage FromEcrRepository(IRepository repository, string? tagOrDigest = null)func FromEcrRepository(Repository IRepository, TagOrDigest *string) IBuildImagestatic#2 parameters · returns
Parameters
repositoryrepositoryrepositoryrepositoryRepository— The ECR repository.tagOrDigesttag_or_digesttagOrDigesttagOrDigestTagOrDigest— Image tag or digest (default "latest", digests must start withsha256:).
Returns: A x86-64 Linux build image from an ECR repository. NOTE: if the repository is external (i.e. imported), then we won't be able to add a resource policy statement for it so CodeBuild can pull the image.
runScriptBuildspec(entrypoint: string): BuildSpecdef run_script_buildspec(self, entrypoint: str) -> BuildSpecpublic BuildSpec runScriptBuildspec(String entrypoint)public BuildSpec RunScriptBuildspec(string entrypoint)func RunScriptBuildspec(Entrypoint *string) BuildSpec#Make a buildspec to run the indicated script.
validate(env: BuildEnvironment): string[]def validate(self, env: BuildEnvironment) -> typing.List[str]public List<String> validate(BuildEnvironment env)public string[] Validate(BuildEnvironment env)func Validate(Env BuildEnvironment) *[]*string#Allows the image a chance to validate whether the passed configuration is correct.