Heroku:如何在 gitlab CI/CD 中发布现有镜像?

2024-04-17

我想将我的应用程序部署为 Gitlab CI/CD 管道中的容器。

几天前,我可以部署我的 docker 镜像,如 heroku devCenter 中编写的那样。

docker login --username=_ --password=$(heroku auth:token)registry.heroku.com

并将其推送到 heroku 注册表。

docker 标签 imageregistry.heroku.com/app/process-type

docker推送registry.heroku.com/app/process-type

但后来他们分两步改变了部署

Heroku 容器:推

Heroku 容器:发布

在更新之前,它是在将容器推送到容器注册表时部署的。现在我需要以任何方式释放它。

我尝试将映像重命名为release,并尝试安装heroku CLI,但随后我无法登录heroku 注册表。

你是怎么解决的?


这是我昨天发现的一个有效的解决方案,它触发了发布。您可以使用 docker 保留部署,只需将这个小脚本添加到管道中即可。

#!/bin/bash
imageId=$(docker inspect registry.heroku.com/$YOUR_HEROKU_APP/web --format={{.Id}})
payload='{"updates":[{"type":"web","docker_image":"'"$imageId"'"}]}'
curl -n -X PATCH https://api.heroku.com/apps/${YOUR_HEROKU_APP}/formation \
-d "$payload" \
-H "Content-Type: application/json" \
-H "Accept: application/vnd.heroku+json; version=3.docker-releases" \
-H "Authorization: Bearer $YOUR_HEROKU_API_KEY"

该解决方案来自 Kai tödter,您可以在以下位置找到它:https://toedter.com/2018/06/02/heroku-docker-deployment-update/ https://toedter.com/2018/06/02/heroku-docker-deployment-update/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Heroku:如何在 gitlab CI/CD 中发布现有镜像? 的相关文章

随机推荐