首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对drone 0.4上的compose服务的AWS ECR身份验证

针对drone 0.4上的compose服务的AWS ECR身份验证
EN

Stack Overflow用户
提问于 2017-01-19 04:07:36
回答 1查看 897关注 0票数 0

我使用无人机0.4作为我的线人。在尝试从自托管的私有注册表迁移到AWS的ECS/ECR时,当在我的.drone.yml中将这些图像作为组合服务引用时,我遇到了一个身份验证问题。

例如

代码语言:javascript
复制
build:
    image: python:3.5
    commands: 
        - some stuff
compose:
    db:
        image: <account_id>.dkr.ecr.us-east-1.amazonaws.com/reponame:latest

当无人机构建运行时,它会出错,就像它应该做的那样,说Authentication required to pull from ecr。据我所知,当你认证AWS ECR时,你会使用类似aws-cli的ecr get-login,它会给你一个临时密码。我知道我可以将其注入到我的无人机秘密文件中,并在auth_config中使用该值,但这意味着我必须每隔12小时(或该令牌持续多长时间)更新我的秘密文件。有没有办法让drone自己执行身份验证过程?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-19 13:06:24

在执行build/compose命令之前,您可以在同一个shell中运行身份验证命令:

我们如何使用docker在我们的设置中做到这一点,我们将这个shell脚本部分放在了Jenkins管道中(这个shell脚本将在有或没有Jenkins的情况下工作,你所要做的就是配置你的aws凭证):

代码语言:javascript
复制
`aws ecr get-login --region us-east-1`
${MAVEN_HOME}/bin/mvn clean package docker:build -DskipTests
docker tag -f ${DOCKER_REGISTRY}/c-server ${DOCKER_REGISTRY}/c-server:${RELEASE_VERSION
docker push ${DOCKER_REGISTRY}/c-server:${RELEASE_VERSION}

因此,在运行创建映像的maven命令或在ECR中推送映像的后续命令时,它将使用从第一个命令获得的身份验证。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41728531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档