如何使用 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 的图像的主要内容,如果未能解决你的问题,请参考以下文章

CI/CD之jenkins

CI/CD之jenkins

用于在 AWS EC2 中构建和部署 docker 映像的 CI/CD 脚本

centos7下使用gitlab+shell实现CI/CD持续集成持续部署

实践分享!GitLab CI/CD 快速入门

Gradle bootBuildImage 使用 docker:dind 服务在 GitLab CI/CD 中失败并显示“未找到摘要”