我在设置一个Jenkins。我正在使用全局管道库使用管道进行编程,以提高可重用性。脚本是面向对象的,并且在Groovy中。有关概念的信息可在there中找到我无法使用我的库脚本检索Jenkins特定的环境。例如,我想访问:
我尝试使用环境工作空间,但它返回一个空值。我设法直接在管道中检索它,但这不是我的目标。我用的是Jenkins 2.303.1。
z9smfwbn1#
根据您编写脚本的方式,您可能需要注入Jenkins环境。例如,如果您采用更面向对象的方法
// vars/whatever.groovy import ... @Field def myTool = new MyTool(this)
// src/.../MyTool.groovy import ... class MyTool { private final jenkins MyTool(jenkins) { this.jenkins = jenkins } def echoBuildNumber() { this.jenkins.echo(this.jenkins.env.BUILD_NUMBER) } }
// Jenkinsfile @Library(...) node { echo env.BUILD_NUMBER // echoes build number whatever.myTool.echoBuildNumber() // echoes build number }
lymgl2op2#
因此,您正在寻找的env可以像这样在groovy脚本中访问${env.BUILD_NUMBER}${env.JOB_NAME}${env.WORKSPACE}${env.BUILD_ID}
${env.BUILD_NUMBER}
${env.JOB_NAME}
${env.WORKSPACE}
${env.BUILD_ID}
2条答案
按热度按时间z9smfwbn1#
根据您编写脚本的方式,您可能需要注入Jenkins环境。例如,如果您采用更面向对象的方法
lymgl2op2#
因此,您正在寻找的env可以像这样在groovy脚本中访问
${env.BUILD_NUMBER}
${env.JOB_NAME}
${env.WORKSPACE}
${env.BUILD_ID}