gpt4 book ai didi

jenkins - 在 kubernetes 中使用 kubectl set image 命令使用 CI (Jenkins) 创建部署的行业标准解决方案是什么

转载 作者:行者123 更新时间:2023-12-02 12:02:47 25 4
gpt4 key购买 nike

目前我正在使用 Jenkins 和 kubernetes 进行 CI/CD 管道的实现演示。我创建了一个 Jenkins 管道作业,并在我的 Jenkinsfile 中添加了每一步。对于 kubernetes ,我为 Kubernetes 资源创建了部署和服务 YAML 文件。

镜像版本管理部署中

对于我的 SVN 存储库中的每个提交,我通过 Jenkins 环境变量将标签添加为内部版本号来创建 docker 图像。

image:1
image:2
.
.
image:n

困惑

如果我使用 kubectl set image在我的 Jenkinsfile 部署阶段更新我的部署的命令,那么它将适用于第一次提交吗?

我感到很困惑,因为命令说如果 YAML 文件中定义的图像发生变化,它是为了更新部署。因此,如果我根据内部版本号(图像名称:内部版本号)更改每个提交的图像,那么如果没有部署退出,它会第一次工作吗?

最佳答案

所以我可以想出多种方法,一种有点老套,另一种我喜欢。您可以根据最适合您的方式来决定。

解决方案一 - 您可以在您的 Jenkins 中添加一个简单的条件 checkin ,如果部署不存在,则第一次创建它并将其设置为第一个图像。从第二次提交开始更新。

或者

解决方案二 - 把它想象成每个存储库或服务都应该有自己的deployment.yml在其中。因此,当第一次 checkin 代码时,您可以使用该 yml 来检查部署是否已经存在?如果它不只是用 kubectl apply myapp.yml 创建开发对于第二次提交 kubectl set image将工作。

关于jenkins - 在 kubernetes 中使用 kubectl set image 命令使用 CI (Jenkins) 创建部署的行业标准解决方案是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58743466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com