如何获取Jenkins Pipeline对接ECR所需的AWS登录凭证
解决方法
你代码中用到的凭证字符串是Jenkins Amazon ECR插件约定的固定格式,不是直接从AWS控制台获取的原生凭证,按照以下步骤配置即可:
- 首先确保你已经在Jenkins中安装了Amazon ECR插件,安装完成后重启Jenkins生效。
- 前往AWS控制台创建用于ECR操作的IAM用户,给该用户分配足够的ECR操作权限,最小权限集需要包含
ecr:GetAuthorizationToken等镜像推拉相关的权限,也可以直接使用AWS托管的AmazonEC2ContainerRegistryPowerUser策略简化配置。创建用户后保存好该用户的Access Key ID和Secret Access Key。 - 进入Jenkins的凭证管理页面,选择全局凭证域,点击添加新凭证,类型选择「AWS Credentials」。
- 在凭证配置表单中填入上一步拿到的AK和SK,ID字段填写你代码中的
86c8f5ec-1ce1-4e94-80c2-18e23bbd724a(你也可以自定义ID,只要和后续拼接的凭证字符串对应即可),填写完成后保存。 - 流水线中的凭证字符串按照
ecr:<ECR所在AWS区域>:<Jenkins中存储的AWS凭证ID>规则拼接即可,你当前用的是爱尔兰区域(eu-west-1),凭证ID是上述UUID,拼接出来就是你现在用的字符串,插件会自动调用AWS接口获取临时登录凭证,无需你手动拉取ECR的登录账号密码。
如果你的Jenkins部署在AWS EC2实例上,还可以直接给EC2实例绑定对应权限的IAM角色,Jenkins凭证配置时选择IAM Role类型,无需填写AKSK,安全性更高。
内容的提问来源于stack exchange,提问作者Anderson
相关产品推荐
相关产品推荐

