有没有办法从SCM提交的管道文件中使用Jenkins“Execute system groovy script”步骤?
如果是,我将如何访问其中的预定义变量(如build)?
如果不是,我是否可以使用共享库插件来复制功能?
谢谢!
答案 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
点击"管道语法"链接在任何管道作业的左侧导航中,以获得一组您可以在"全局变量参考中访问的内容。"