Jenkins 詹金斯:“这是我的工作。”;“执行系统groovy脚本”;在管道步骤中(SCM已提交)
有没有办法从SCM提交的管道文件中使用Jenkins“执行系统groovy脚本”步骤 如果是,我将如何访问其中的预定义变量(如build) 如果没有,我是否能够复制其他功能,例如使用共享库插件Jenkins 詹金斯:“这是我的工作。”;“执行系统groovy脚本”;在管道步骤中(SCM已提交),jenkins,groovy,Jenkins,Groovy,有没有办法从SCM提交的管道文件中使用Jenkins“执行系统groovy脚本”步骤 如果是,我将如何访问其中的预定义变量(如build) 如果没有,我是否能够复制其他功能,例如使用共享库插件 谢谢 您可以将groovy代码放入(始终受源代码控制的)Jenkins文件中的管道中,如下所示: pipeline { agent { label 'docker' } stages { stage ('build') { steps { script {
谢谢 您可以将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
单击任何管道作业左侧导航中的“管道语法”链接,以获得一系列可以在“全局变量引用”中访问的示例。我认为这种方式放置的脚本不会在主机上执行,而是受到jenkins的沙箱模式的约束?我对“Execute system groovy script”(执行系统groovy脚本)的系统部分非常感兴趣,-Dit在主机上执行,它受到jenkins的沙盒模式的约束,这种模式可以按照中描述的方法在case-by-case basic上重写。好吧,我的坏,太好了:)@burnettk,如果我在groovy代码中有导入,它会工作吗?