如何获得应用程序增量部署到kubernetes

时间:2016-08-30 09:01:10

标签: maven jenkins kubernetes

我尝试使用jenkins为自己的微服务项目设置持续部署,该项目被组织为多模块maven项目(每个子模块代表一个微服务)。我使用"增量构建 - 仅构建已更改的模块"在jenkins中避免使用unnessary构建,然后使用docker-maven-plugin构建docker镜像。但是,我怎么能只将已更改的映像重新部署到kubernetes集群?

2 个答案:

答案 0 :(得分:0)

您可以使用本地docker镜像注册表。 docker run -d -p 5000:5000 --restart=always --name registry registry:2 然后,您可以将开发映像作为构建步骤推送到此注册表,并使您的kubernetes容器使用此注册表。

准备好后,将图像推送到生产图像注册表并调整容器清单以使用正确的注册表。

有关私人注册服务器的更多信息:https://docs.docker.com/registry/deploying/

答案 1 :(得分:0)

当前,Kubernetes没有为此提供适当的解决方案。但是[here]提到的解决方法很少:https://github.com/kubernetes/kubernetes/issues/33664

我喜欢这样的“通过更改映像以外的内容来对部署进行更改”。我们可以这样:

定义环境变量说“ TIMESTAMP”及其在部署清单中的任何值。在CI \ CD管道中,我们将该值设置为当前时间戳,然后将此更新的清单传递给“ kubectl apply”。这样,我们伪造了一个更改,而kubernetes将提取最新的映像并部署到集群。请确保已设置“ imagePullPolicy:始终”。