如何解决使用AWS CDK创建用于构建Docker映像的CodeBuild项目
我想使用AWS CDK在源代码中定义CodeBuild项目。 CodeBuild项目需要能够构建然后推送Docker映像。
在AWS控制台中创建新的CodeBuild项目时,有一个选项:
特权,如果您要构建Docker映像或希望您的构建获得提升的特权,请启用此标志。
我没有看到等效的api用于打开API Docs中的 Privileged 标志。
int ret = 0;
ret = func1();
if(ret != 0) {
return ret;
}
ret = func2();
if(ret != 0) {
return ret;
}
如果我尝试运行我的构建而不将 Privileged 设置为true,我将得到标准错误:
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"
})
});
如何使用AWS CDK创建具有“特权”的Docker镜像的CodeBuild项目?
解决方法
new Project(this,"coolBuildProject",{
// ... setting up your codeBuildProject
environment: {
// this is the essential piece you're looking for
privileged: true,},});
通常,您可以在这里找到所有其他(构建)环境设置: https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-codebuild.BuildEnvironment.html#privileged
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。