目前,我選擇要推送到注冊表的影像,并在將檔案推送到 Git 存盤庫之前使用“復雜”方法將影像標簽設定為清單。
這是我的代碼
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 '''
}}}
我正在尋找另一種將影像標簽直接決議為清單的方法。
是否有 Jenkins 插件可以做到這一點?
uj5u.com熱心網友回復:
我使用 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 :
//hub.docker.com/r/mikefarah/yq
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/394647.html
標籤:詹金斯 Kubernetes 雅姆 显现
上一篇:檢查Chrome是否被禁用
