Jenkins 替换存储在另一个存储库中的 yaml 文件中的图像标签

问题描述

我有两个不同的应用程序和清单存储库。在清单存储库中,我为每个微服务都有 values.yaml 文件。我正在寻找一种使用 ${BUILD_NUMBER} 更新 image.tag 值的方法,然后将这些更改提交/合并到应用管道中的清单存储库,如下所示。

这样做的最佳方法是什么?

image:
  repository: example.com/app/backend
  tag: "450"
  pullPolicy: Always

这是 jenkinsfile 中应用程序存储库的阶段。

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
            """
        }
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)