Amazon s3 公开AWS代码构建工件
我有一个问题,每次我想使用AWS CodeDeploy时,我都必须转到S3并手动将修订文件公开,因为CodeBuild创建了一个非公开的工件 有没有办法让CodeBuild在S3中创建公共工件?或者有没有一种使用CodeDeploy部署非公共工件的方法Amazon s3 公开AWS代码构建工件,amazon-s3,aws-code-deploy,aws-codebuild,artifacts,Amazon S3,Aws Code Deploy,Aws Codebuild,Artifacts,我有一个问题,每次我想使用AWS CodeDeploy时,我都必须转到S3并手动将修订文件公开,因为CodeBuild创建了一个非公开的工件 有没有办法让CodeBuild在S3中创建公共工件?或者有没有一种使用CodeDeploy部署非公共工件的方法 我试图在后期构建阶段运行一些aws s3api命令,但它们似乎失败了,退出代码为255。您需要更新S3 bucket的bucket策略 { "Version": "2012-10-17",
我试图在后期构建阶段运行一些aws s3api命令,但它们似乎失败了,退出代码为255。您需要更新S3 bucket的bucket策略
{
"Version": "2012-10-17",
"Id": "Policy1sdhgshjg",
"Statement": [
{
"Sid": "Stmt1asdasdadasd",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket_name/*"
}
]
}
这将使bucket中的所有对象成为公共对象
有关更多信息,请阅读其他示例
注意:我假设您的存储桶中已禁止公众访问
每个代码部署应用程序将有一个以上的部署组。可以为每个部署组分配as service IAM角色 对于这个服务角色,我们可以授予读取S3 bucket的权限,这样我们就不必每次构建工件 示例读取权限如下所示
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:GetObject*",
"s3:GetBucket*"
],
"Resource": [
"arn:aws:s3:::woohoo-auto-code-deploy/prod-QC-darpan-be/BuildArtif/*",
"arn:aws:s3:::woohoo-auto-code-deploy/prod-QC-darpan-ui/BuildArtif/*"
],
"Effect": "Allow"
}
]
}
你是说代码部署吗?是的。。Edited answer.hmm添加了一个内联策略来读取我的bucket中的所有文件,但它仍然没有部署新代码(与前面相同)。当我在s3上公开工件时,它会部署新代码。想知道除了此策略之外,是否还有其他需要启用的功能?是否可以将#wget用于私有工件?必须同时添加两个策略:一个用于iam角色的策略和一个用于bucketHad的策略,以同时添加两个:一个用于iam角色的策略和一个用于bucket的策略