目前,我选择要推送到注册表的图像,并使用“复杂”方法在将文件推送到Git repos之前将图像标记设置为显示。
这是我的密码
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 '''
}}}我正在寻找另一种方法来直接解析图像标记以实现清单。
有詹金斯插件吗?
发布于 2021-12-25 03:34:04
我使用YQ工具来做这件事,这是一个用于编辑yaml文件的图像。
示例(只有docker run):
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://stackoverflow.com/questions/70476352
复制相似问题