将变量从詹金斯注入詹金斯管道

时间:2020-01-31 15:27:10

标签: jenkins groovy jenkins-pipeline

我在jenkins管道作业中使用了密码参数选项,我在其中存储了密码,需要将其注入到jenkins文件的环境中

enter image description here

这是jenkins文件的一部分,我正尝试在其中插入此PASS

pipeline {
     agent any
      environment {
        USER= 'abcd'
        PW= '${params.PASS}'
    }
    stages {
        stage('staring tests') {     

当我尝试回显$ PW时,它仅回显$ {params.PASS}。

任何指针将不胜感激!

2 个答案:

答案 0 :(得分:0)

在Groovy中,字符串是单引号。它们不能用变量插值。您将需要连接字符串和值。即PW='pass' + myVar

GString是双引号。 http://docs.groovy-lang.org/latest/html/api/groovy/lang/GString.html

因此您需要将其更改为PW="${params.PASS}",这会将变量插入到字符串中。

但是,由于在该示例中未进行任何插值,因此也不需要使用GString。只要您需要访问该值,就可以直接调用它echo params.PASS

答案 1 :(得分:0)

您不应将“ params”值放入环境变量中。它不会为您工作。环境部分仅初始化字符串变量,因此,它使用$ {params.PASS}的纯字符串初始化PW,因为它不对其进行任何“计算”。 相反,在您的管道中,只需直接在代码中使用params.PASS。