我一直在搜索和阅读Jenkins Javadoc和Jenkins CI文档,但无法确认我想要的东西是否可行
我有一个管道,它只是通过SCM加载的常规脚本。在此管道中,我使用date_default_timezone_set('UTC');
命令。作业build job: 'JobName'
如下所示:
JobName
我想做的是知道groovy脚本中调用作业node('agent-complet') {
def phase1Success = true
def phase2Success = true
def phase3Success = true
// The success flags are set to true/false in the stages...
stage('Phase1') { ... }
stage('Phase2') { ... }
stage('Phase3') { ... }
}
的每个阶段的结果(成功/失败标志)。有直接的方法吗?
否则,我正在考虑也许先写入文件,然后在作业完成后再读取该文件。
谢谢
答案 0 :(得分:1)
您可以使用Extending Shared Libraries代替凹槽脚本。
然后您可以使用包含所有阶段的字典的类:
package your.packagename
class Example implements Serializable {
def mysteps = [Stage1: false, Stage2: false, Stage3: false]
def steps
def Example(steps) {
this.steps = steps
}
def run() {
this.steps.stage("Stage1") {
try {
[run some commands]
this.mysteps["Stage1"] = true
} catch (Exception e) {
this.mysteps["Stage1"] = false
}
}
}
}
然后在您的Jenkins文件中
@Library('your-library-name')
import your.packagename.Example
def pl = new Example(steps)
node {
pl.run()
stage("Print results") {
sh "Results ${pl.mysteps}"
}
}