我有两个不同的应用程序和清单存储库。在清单存储库中,我有values.yaml
每个微服务的文件。我正在寻找一种image.tag
使用 ${BUILD_NUMBER} 更新值的方法,然后将这些更改从应用程序管道提交/合并到清单存储库,如下所示。
这样做的最佳方法是什么?
image:
repository: example.com/app/backend
tag: "450"
pullPolicy: Always
这是 jenkinsfile 中用于应用程序 repo 的阶段。
stage('Deploy to DEV') {
when{
beforeAgent true
expression{return env.GIT_BRANCH == "origin/development"}
}
steps {
script {
sh """
git clone https://github.com/mycompany/backend.git
cd apps/project1/app-dev/backend-dev
def text = readFile file: "values.yaml"
text = text.replaceAll("%tag%", "${${BUILD_NUMBER}}")
git add . -m "Update app image tag to ${BUILD_NUMBER}"
git push origin master
"""
}
}