首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向使用Jenkins的kubernetes清单添加图像标记

向使用Jenkins的kubernetes清单添加图像标记
EN

Stack Overflow用户
提问于 2021-12-24 20:31:14
回答 1查看 469关注 0票数 0

目前,我选择要推送到注册表的图像,并使用“复杂”方法在将文件推送到Git repos之前将图像标记设置为显示。

这是我的密码

代码语言:javascript
复制
stage("Push to Repo "){            
                steps {
                    script {
                    def filename = 'Path/to/file/deploy.yaml'
                    def data = readYaml file: filename
                    data.spec[0].template.spec.containers[0].image = "XXXXXXXXXXXXXXXXXXXXX:${PROJECT_VERSION}"
                    sh "rm $filename"
                    writeYaml file: filename, data: data
                    sh "sed -ie 's/- apiVersion/  apiVersion/g' Path/to/file/deploy.yaml "
                    sh "sed -i '/^          - c.*/a ---' Path/to/file/deploy.yaml "
                    sh ''' cd Path/to/file/
                        git add .
                        git commit -m "[0000] [update] update manifest to version: ${PROJECT_VERSION}  "
                        git push -u origin HEAD:branche_name '''
                }}}

我正在寻找另一种方法来直接解析图像标记以实现清单。

有詹金斯插件吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-25 03:34:04

我使用YQ工具来做这件事,这是一个用于编辑yaml文件的图像。

示例(只有docker run):

代码语言:javascript
复制
docker run --rm --user="root" 
-e TAG=dev-123456
-v "${PWD}":/workspace 
-w /workspace mikefarah/yq
eval '.spec.spec.containers.image.tag = strenv(TAG)' 
-i values.yaml

这将替换部署中的当前标记dev-123456。

我在多行上写,以便更容易看到,如果您愿意,可以在一行上写。

有关详细信息的链接:

https://hub.docker.com/r/mikefarah/yq

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

https://stackoverflow.com/questions/70476352

复制
相关文章

相似问题

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