如何使用 CI/CD 为 Gitlab 注册表推送基于 docker compose 的图像
Posted
技术标签:
【中文标题】如何使用 CI/CD 为 Gitlab 注册表推送基于 docker compose 的图像【英文标题】:How can I push docker compose based images for Gitlab Registry Using CI/CD 【发布时间】:2021-11-25 09:53:15 【问题描述】:我已经使用 docker-compose 链接了 Postgres DB 和 API 图像,它在本地工作,我必须使用 CI/CD 将这两个图像推送到 gitlab 注册表。
enter image description here
【问题讨论】:
请提供足够的代码,以便其他人更好地理解或重现问题。 图片和屏幕截图可以很好地添加到帖子中,但请确保帖子在没有它们的情况下仍然清晰且有用。不要发布代码或错误消息的图像。而是直接将实际代码/消息复制并粘贴或键入到帖子中。 【参考方案1】:gitlab 文档很好地介绍了如何build and push Docker images during CI。
注意/使用CI_REGISTRY_IMAGE
变量很重要。如果您尝试推送的图片名称与CI_REGISTRY_IMAGE
不同,则推送将失败。如果您想拥有多个图像,您需要在标签中标记它们 ($CI_REGISTRY_IMAGE:db-$CI_COMMIT_REF_SLUG
) 或创建一个单独的 repo 并在那里管理图像。
【讨论】:
以上是关于如何使用 CI/CD 为 Gitlab 注册表推送基于 docker compose 的图像的主要内容,如果未能解决你的问题,请参考以下文章
用于在 AWS EC2 中构建和部署 docker 映像的 CI/CD 脚本
centos7下使用gitlab+shell实现CI/CD持续集成持续部署
Gradle bootBuildImage 使用 docker:dind 服务在 GitLab CI/CD 中失败并显示“未找到摘要”