[英]CD with GitLab, docker and docker private registry
我们需要自动化部署过程。 让我指出我们使用的堆栈。 我们有自己的 GitLab CE 实例和私有 docker 注册表。 在生产服务器上,应用程序在容器中运行。 每次主提交后,GitLab CI 构建包含代码的映像,将其发送到 docker 注册表,这就是自动化结束的地方。
在生产服务器上的部署可以通过几个步骤来执行 - 停止当前的应用程序容器,拉出新的并运行它。
自动化此过程的最佳方法是什么?
我阅读了一些解决方案(但我相信还有更多)
什么是首选方式? 或者你可以推荐其他东西?
无需使用 swarm、kubernetes 等工具。这是一个非常简单的应用程序。 提前致谢。
在你的生产机器上安装 Gitlab-ci runner 怎么样? 并在推送到名为deploy
master 上的注册表后执行一项工作,并使用 Gitlab CI 标签deploy
其固定到该机器上。
该作业只是从注册表中提取映像并重新启动您的服务或任何您现有的东西。
类似的东西:
deploy-job:
stage: deploy
tags:
- production
script:
- docker login myprivateregistry.com -u $SECRET_USER -p $SECRET_PASS
- docker pull $CI_REGISTRY_IMAGE:latest
- docker-compose down
- docker-compose up -d
我能想到四种解决方案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.