当前,我正在使用Jenkins和kubernetes进行CI / CD管道的实现演示。我创建了一个Jenkins管道作业,并在Jenkinsfile中添加了每一步。对于kubernetes,我为Kubernetes资源创建了部署和服务YAML文件。
正在部署的映像版本管理
对于SVN存储库中的每次提交,我都通过通过Jenkins环境变量将标记添加为内部版本号来创建docker映像。
image:1
image:2
.
.
image:n
困惑
如果我在Jenkinsfile部署阶段使用kubectl set image
命令更新我的部署,那么它对第一次提交有效吗?
我感到很困惑,因为命令说如果YAML文件中定义的映像发生更改,它是用于更新部署。因此,如果我要根据内部版本号(image-name:buildnumber)更改每个提交的映像,那么如果没有部署出口,它将在第一次运行?