I want to define a CodeBuild project in source code using the AWS CDK. The CodeBuild project needs to be able to build and then push docker images.
When creating a new CodeBuild Project in the AWS Console there's an option:
Privileged Enable this flag if you want to build Docker images or want your builds to get elevated privileges.
I don't see an equivalent api for turning on the Privileged flag in the API Docs.
var codeBuildProject = new Project(this, "Example_Build", new ProjectProps
{
ProjectName = "ExampleBuildFromCDK",
// How to add Privileged?
BuildSpec = BuildSpec.FromSourceFilename("example/buildspec.yml"),
Source = Source.CodeCommit(new CodeCommitSourceProps
{
Repository = Repository.FromRepositoryArn(this, "CodeCommit", CodeRepositoryArn),
BranchOrRef = "refs/heads/example/added-docker-images"
})
});
And if I try to run my build without setting Privileged to true, I'll get the standard error:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
How to I use the AWS CDK to create a CodeBuild Project that has "Privileged" to build Docker images?
new Project(this, "coolBuildProject", {
// ... setting up your codeBuildProject
environment: {
// this is the essential piece you're looking for
privileged: true,
},
});
In general, you can find all other (build) environment settings here: https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-codebuild.BuildEnvironment.html#privileged
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With