AWS CodePipeline部署失败

时间:2018-11-03 16:30:23

标签: amazon-web-services aws-code-deploy aws-codepipeline aws-codebuild

我正在尝试为我的简单AWS lambda函数设置一个持续集成管道。坦白地说,这是我第一次使用AWS代码管道。我在设置管道时遇到了麻烦。管道中的部署阶段失败。

我创建了一个CodeBuild

enter image description here

然后我在CodeDeploy中创建了一个应用程序

enter image description here

然后,我创建了一个CodePipeline,将源选择为GitHub。从GitHub中选择了一个存储库和分支。然后将管道与我先前创建的CodeDeploy应用程序和CodeBuild链接。

保存管道之后,并且在构建管道后,都会出现此错误。

enter image description here

当我检查错误详细信息时,它会说

Unable to access the artifact with Amazon S3 object key 'the-goodyard-pipelin/BuildArtif/G12YurC' located in the Amazon S3 artifact bucket 'codepipeline-us-east-1-820116794245'. The provided role does not have sufficient permissions.

基本上,该存储桶也不存在。铲斗不是自动创建的吗?我的设置出了什么问题?请问我该如何解决?

存储桶也存在。只是抛出错误。

在存储桶中,我也可以看到zip文件。

enter image description here

1 个答案:

答案 0 :(得分:0)

好吧,错误消息看起来很容易解释,您分配给codebuild的角色没有足够的权限来访问s3。 转到代码构建->构建项目->选择您的项目->单击选项卡“构建详细信息”。 您将看到一个“服务角色” ARN,如果单击它,它将把您发送到该IAM角色(如果您不是该帐户的管理员,则您可能没有足够的权限来查看IAM,因为它是一个关键权限服务,请与管理员联系。) 检查该角色的策略,并检查策略是否具有以下操作:资源上的s3:GetObject:您的存储桶。 如果没有,那么您需要添加它。使用可视编辑器,将S3用作服务,将Get *添加为操作,然后将s3存储桶添加到其中。