我对docker worlflow很新颖,我想知道docker CD/CI工作流程的最佳做法是什么......现在大部分文章似乎都没有真正谈论docker的“部署”部分,只有注册。Docker CD/CI工作流程的最佳实践是什么?
我想要做什么:
- 代码做一些更改
- 推到Git的
- 詹金斯单元测试/ EE测试
- 詹金斯建立泊坞窗图像中的注册表
- 商店码头工人形象
- 在服务器上运行docker映像。
为了实现步骤1-5,我有下面的堆栈。
用户推送到gitlab - > Gitlab webhook通知jenkins - > jenkins构建项目 - >将图像存储在gitlab docker注册表中。
我使用Rancher进行Docker镜像部署......我非常喜欢Rancher的分布式。即我可以指定一个docker镜像来运行,而rancher负责部署我的容器的服务器。
理想我想步骤#6被“分配”(即我不想ssh登录到服务器并运行docker run {imagename}
),并有一些服务是部署
权威是有像目前任何会让我做到这一点?
如果使用kubernetes,流量会是多少? 是否有任何类型的自动部署图像的“呼叫”? – nate
我不知道kubernetes足以提供一个答案,但是,使用docker你可以使用内置的[scheduler](https://docs.docker.com/engine/swarm/swarm-tutorial/rolling-update/ )和定期调用“docker service update”的cron作业。您也可以从CI服务器调用[REST端点](https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/)服务/名称/更新。 –