每次构建 docker 镜像并将其从 Gitlab 注册表推送到 Heroku 注册表后,我都需要执行heroku container:release webHeroku 运行镜像(发布),但我想自动化此操作
我将heroku CLI工具安装添加到gitlab-ci-yml,但我无法通过令牌对heroku CLI进行身份验证
当我尝试设置HEROKU_API_KEY = token并运行时,heroku login我收到错误Error: Cannot log in with HEROKU_API_KEY set
也尝试在HEROKU_DEBUG打开的情况下执行此操作,但调试器信息无法帮助我
我不能使用~/.netrc
有什么方法可以对heroku CLI进行身份验证或在heroku中自动发布docker镜像吗?
当前的 gitlab-ci.yml:
before_script:
- apt install snapd
- snap install --classic heroku
- HEROKU_API_KEY=$HEROKU_API_TOKEN heroku login
- docker login -u $REGISTRY_UNAME -p $REGISTRY_PWD registry.gitlab.com
- docker login --username=_ --password=$HEROKU_PWD registry.heroku.com
script:
# a lot of tag & push lines
- heroku container:release web
Run Code Online (Sandbox Code Playgroud)
Aru*_*han 10
如果您设置了HEROKU_API_KEY环境变量,则无需再次登录。API 密钥将用于 Heroku CLI 命令(如果存在)。
确保使用heroku authorizations:create创建永不过期的令牌。看看这个有详细的解释。
参考: https: //github.com/heroku/cli/issues/502#issuecomment-309099883
请注意,git类似的命令git push heroku master不会使用 API 密钥。请参阅此了解更多信息。
| 归档时间: |
|
| 查看次数: |
7118 次 |
| 最近记录: |