Jenkinsfile在管道中的环境变量中以键和值格式加载groovy文件参数

问题描述

通常我的groovy文件jenkins-build-paramters.groovy如下

SELECT 
  TO_CHAR(
    TO_DATE('Sep 26 00:15:00','Mon DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS'
  )
FROM dual;

下面是我的环境变量

Cotaining_WAR_Deployment='true'
Cotaining_JAR_Deployment='false'

我的问题是如何根据各自的值加载构建参数。例如,在环境Cotaining_WAR_Deployment应从常规文件值中获取

解决方法

您可以使用[加载步骤] [1]加载Groovy脚本。

如下修改您的jenkins-build-paramters.groovy

Cotaining_WAR_Deployment='true'
Cotaining_JAR_Deployment='false'

return this

然后您可以像这样加载它:

stage('load params'){
    script {
        def parameters = load "${workspace}/jenkins-build-paramters.groovy"
        Cotaining_WAR_Deployment = parameters.Cotaining_WAR_Deployment
        Cotaining_JAR_Deployment = parameters.Cotaining_JAR_Deployment
    }
}

顺便说一句,您不需要将布尔变量存储为字符串("true"),也可以将它们用作布尔值(true) [1]:https://www.jenkins.io/doc/pipeline/steps/workflow-cps/#load-evaluate-a-groovy-source-file-into-the-pipeline-script