如何通过配置文件提供程序在Jenkins多分支功能中使用porerties文件?

x6h2sr28  于 2023-03-29  发布在  Jenkins
关注(0)|答案(1)|浏览(140)

我使用Jenkins的CI/CD服务,因为一些安全原因,我需要以私有方式存储一些密钥值。
我尝试在Multiple Branches项目中使用Config File Provider Plugin
我添加一个配置文件的插件一样

并将uuid复制为Jenkinsfile中的fileId

stage('feature') {
          when{
            branch 'feature/*'
          }
          steps {
            configFileProvider([configFile(fileId: 'e83d3c64-459d-4f9e-9b3a-6c1c44f459a1', variable: 'MY_PROPS')]) {
                echo "Printing MY_PROPS:"
                echo "${MY_PROPS}"
                sh "echo ${MY_PROPS.NETLIFY_SITE_ID}"
            }
          }
        }

我得到了回报:

我认为fileId不是如图所示。
我怎样才能从我添加的文件中获得键值?

7xllpg7q

7xllpg7q1#

MY_PROPS的值是一个临时文件,它是配置文件的副本,您需要在检查其中的属性之前加载它。

steps {
  script {
    configFileProvider([
        configFile(fileId: 'e83d3c64-459d-4f9e-9b3a-6c1c44f459a1', variable: 'MY_PROPS')
    ]) {
       def props = readProperties file: "${MY_PROPS}"
       sh "echo ${props.NETLIFY_SITE_ID}"
    }
  }
}

相关问题