Show / Hide Table of Contents

Interface IBuildEnvironment

Namespace: Amazon.CDK.AWS.CodeBuild
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface IBuildEnvironment
Syntax (vb)
Public Interface IBuildEnvironment
Remarks

ExampleMetadata: infused

Examples
var pipeline = new CodePipeline(this, "Pipeline", new CodePipelineProps {
                Synth = new ShellStep("Synth", new ShellStepProps {
                    Input = CodePipelineSource.Connection("my-org/my-app", "main", new ConnectionSourceOptions {
                        ConnectionArn = "arn:aws:codestar-connections:us-east-1:222222222222:connection/7d2469ff-514a-4e4f-9003-5ca4a43cdc41"
                    }),
                    Commands = new [] { "npm ci", "npm run build", "npx cdk synth" }
                }),

                // Turn this on because the pipeline uses Docker image assets
                DockerEnabledForSelfMutation = true
            });

            pipeline.AddWave("MyWave", new WaveOptions {
                Post = new [] {
                    new CodeBuildStep("RunApproval", new CodeBuildStepProps {
                        Commands = new [] { "command-from-image" },
                        BuildEnvironment = new BuildEnvironment {
                            // The user of a Docker image asset in the pipeline requires turning on
                            // 'dockerEnabledForSelfMutation'.
                            BuildImage = LinuxBuildImage.FromAsset(this, "Image", new DockerImageAssetProps {
                                Directory = "./docker-image"
                            })
                        }
                    }) }
            });

Synopsis

Properties

BuildImage

The image used for the builds.

Certificate

The location of the PEM-encoded certificate for the build project.

ComputeType

The type of compute to use for this build.

DockerServer

The Docker server configuration CodeBuild use to build your Docker image.

EnvironmentVariables

The environment variables that your builds can use.

Fleet

Fleet resource for a reserved capacity CodeBuild project.

HostKernel

The host operating system kernel used for the builds.

Privileged

Indicates how the project builds Docker images.

Properties

BuildImage

The image used for the builds.

IBuildImage? BuildImage { get; }
Property Value

IBuildImage

Remarks

Default: LinuxBuildImage.STANDARD_7_0

Certificate

The location of the PEM-encoded certificate for the build project.

IBuildEnvironmentCertificate? Certificate { get; }
Property Value

IBuildEnvironmentCertificate

Remarks

Default: - No external certificate is added to the project

ComputeType

The type of compute to use for this build.

ComputeType? ComputeType { get; }
Property Value

ComputeType?

Remarks

See the ComputeType enum for the possible values.

Default: taken from #buildImage#defaultComputeType

DockerServer

The Docker server configuration CodeBuild use to build your Docker image.

IDockerServerOptions? DockerServer { get; }
Property Value

IDockerServerOptions

Remarks

Default: - Doesn't use remote docker server

Note: Security groups configured for Docker servers should allow ingress network traffic from the VPC configured in the project. They should allow ingress on port 9876.

EnvironmentVariables

The environment variables that your builds can use.

IDictionary<string, IBuildEnvironmentVariable>? EnvironmentVariables { get; }
Property Value

IDictionary<string, IBuildEnvironmentVariable>

Remarks

ExampleMetadata: infused

Fleet

Fleet resource for a reserved capacity CodeBuild project.

IFleet? Fleet { get; }
Property Value

IFleet

Remarks

Fleets allow for process builds or tests to run immediately and reduces build durations, by reserving compute resources for your projects.

You will be charged for the resources in the fleet, even if they are idle.

Default: - No fleet will be attached to the project, which will remain on-demand.

See: https://docs.aws.amazon.com/codebuild/latest/userguide/fleets.html

HostKernel

The host operating system kernel used for the builds.

HostKernel? HostKernel { get; }
Property Value

HostKernel?

Remarks

The host kernel does not affect the build environment operating system, which is determined by the buildImage.

Only supported by the LINUX_CONTAINER, ARM_CONTAINER, LINUX_EC2 and ARM_EC2 environment types. Not supported by Windows, Lambda or Mac build images.

Default: - the default host kernel chosen by CodeBuild for the build image

See: https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectEnvironment.html#CodeBuild-Type-ProjectEnvironment-hostKernel

Privileged

Indicates how the project builds Docker images.

bool? Privileged { get; }
Property Value

bool?

Remarks

Specify true to enable running the Docker daemon inside a Docker container. This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail.

Default: false

Back to top Generated by DocFX