我目前使用的是Build Flow插件,它似乎已被放弃,以支持Jenkins 2.0中的管道。从Jenkins 2.0中的并行执行访问构建管道
遇到一些问题,使用新的管道重新构建我们现有的作业。
目前,我有类似下面的代码:
ignore(FAILURE) {
join = parallel([
job1: {build('job1')},
job2: {build('job2')},
job3: {build('job3')}
])
}
results = [join.job1.result.toString(), join.job2.result.toString(), join.job2.result.toString()]
if(join.job1.result.toString() == 'SUCCESS') {
buildList << join.job1.lastBuild.getDisplayName()
}
这里的目标是并行运行多个现有的工作,然后对构建已完成访问信息。这在Build Flow插件中一直没有问题。
我一直无法找到使用新管道访问这些数据的方法。
echo 'Checking streams for latest builds'
join = [:]
join['Job1'] = { build job: 'Job1', parameters: [[$class: 'StringParameterValue', name: 'TimeWindow', value: '1200']], propagate: false}
join['Job2'] = { build job: 'Job2', parameters: [[$class: 'StringParameterValue', name: 'TimeWindow', value: '1200']], propagate: false}
join['Job3'] = { build job: 'Job3', parameters: [[$class: 'StringParameterValue', name: 'TimeWindow', value: '1200']], propagate: false}
parallel join
连接['Job1']的转储不允许访问AbstractBuild或类似的构建流插件。相反,它表明:
<[email protected]
[email protected]
de[email protected]
[email protected]
[email protected]
resolveStrategy=0
directive=0
parameterTypes=null
maximumNumberOfParameters=0
bcw=null>
使用新的管道,有没有)来访问像job1.result,job1.lastBuild,job1.lastBuild.getDisplayName数据(的方法吗?
尽管这将需要一些脚本的批准,如果你是在sandb运行氧气环境。 – amuniz
你也可以在“src”中写一个groovy类来获取org.jvnet.hudson.main并获取当前实例的句柄。这样做我不认为我需要修改我的任何安全设置。 – red888