首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在kubernetes中使用kubectl set映像命令使用CI (Jenkins)创建部署的行业标准解决方案是什么?

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

Stack Overflow用户
提问于 2019-11-07 07:00:20
回答 1查看 139关注 0票数 1

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

部署中的图像版本管理

对于SVN存储库中的每个提交,我通过Jenkins环境变量将标记添加为build来创建docker映像。

代码语言:javascript
复制
image:1
image:2
.
.
image:n

困惑

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

我感觉到了这种混乱,因为命令说,如果YAML文件中定义的映像发生了更改,它是用于更新部署的。因此,如果我根据构建号(映像名称:buildnumber)更改每个提交的映像,那么如果没有部署退出,它将第一次工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-07 07:36:45

所以我可以想出多种方法,一种是讨厌的,另一种是我喜欢的。你可以根据你最适合自己的情况来决定。

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

解决方案2 --把它看作每个存储库或服务都应该在其中有自己的deployment.yml。那么,当第一次签入代码时,您可以使用那个yml来检查部署是否已经存在?如果它不只是使用kubectl apply myapp.yml创建开发,第二种情况下,kubectl set image将工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58743466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档