如何使用管道调用注入环境变量到jenkinsFIle jenkins 2.x中的构建过程插件

时间:2016-09-29 04:26:31

标签: jenkins groovy jenkins-pipeline

我正在尝试使用管道代码或Jenkinsfile将项目从jenkins 1迁移到jenkins 2.x.
但是我没有在片段生成器中看到任何选项来在Jenkinsfile中的脚本中生成环境注入器插件。

任何人都可以提供帮助吗?

3 个答案:

答案 0 :(得分:4)

我假设您想要读取特定文件中的属性并将其作为环境变量注入?

如果是这样,这是一个解决方案:

  • 创建包含环境属性的文件

    • 您创建了一个名为project.properties的属性文件,其中包含以下内容:

      PROJECT_VERSION='1.4.34'

然后,在您的管道代码上,您必须添加以下代码,以便能够读取文件并注入读取变量作为环境变量:

node { load "${WORKSPACE}\\project.properties" // assuming that props file is in Jenkins Job's workspace echo "PROJECT VERSION: ${PROJECT_VERSION}" }

  • 第一行读取并注入变量PROJECT_VERSION作为环境变量
  • 第二行只是打印读取变量以确保一切无缝地工作

<强>结果:

enter image description here

答案 1 :(得分:1)

想要对你的问题发表评论,但我缺乏声誉阻碍了我。

支持的步骤列表如下:https://jenkins.io/doc/pipeline/steps/

通常,您可以使用其Java样式调用来使用其他插件。

即。

step([$class: 'classname', parametername: 'value'])

答案 2 :(得分:0)

我使用此示例来读取属性文件并在管道阶段中使用它:

node(){
    file = readFile('params.txt')
    prop=[:]
    file.eachLine{ line ->
      l=line.split("=")
      prop[l[0]]=l[1]
   }
   withEnv(['MyVar1='+prop["MyVar1"],'MyVar2='+prop["MyVar2"],'MyVar3='+prop["MyVar3]]){        
     stage('RUN_TEST'){
       echo env.MyVar1
       echo env.MyVar2
       echo env.MyVar3
       sh"echo $MyVar1"
     }
  }
}