Jenkins:管道步骤中的“执行系统groovy脚本”(SCM已提交)

时间:2017-06-02 15:23:40

标签: jenkins groovy

有没有办法从SCM提交的管道文件中使用Jenkins“Execute system groovy script”步骤?

如果是,我将如何访问其中的预定义变量(如build)?

如果不是,我是否可以使用共享库插件来复制功能?

谢谢!

1 个答案:

答案 0 :(得分:5)

你可以将groovy代码放在一个(总是源控制的)Jenkins文件的管道中,如下所示:

pipeline {
  agent { label 'docker' }
  stages {
    stage ('build') {
      steps {
        script {

          // i used a script block because you can jam arbitrary groovy in here
          // without being constrained by the declarative Jenkinsfile DSL
          def awesomeVar = 'so_true'
          print "look at this: ${awesomeVar}"

          // accessing a predefined variable:
          echo "currentBuild.number: ${currentBuild.number}"
        }
      }
    }
  }
}

生成控制台日志:

[Pipeline] echo
look at this: so_true
[Pipeline] echo
currentBuild.number: 84

点击"管道语法"链接在任何管道作业的左侧导航中,以获得一组您可以在"全局变量参考中访问的内容。"