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
Remarks
Default: LinuxBuildImage.STANDARD_7_0
Certificate
The location of the PEM-encoded certificate for the build project.
IBuildEnvironmentCertificate? Certificate { get; }
Property Value
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
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
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
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
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
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