我们的跨平台项目要求Jenkins在许多不同的平台上执行,并为每个平台进行适当的测试和打包.我能够结合使用parallel,node但只能在一个单独的,stage并得到这一点(见下文)
我希望能够将它分成多个阶段.我想创建的阶段是:
我会做以下事情:
stash)node使用的一致性.(节点上生成的对象label应相应地标记在适当的节点上label).我需要为每个节点唯一标记每个存储.这不是更低效吗?我会人为地复制大量数据,以便我可以创建阶段.
def checkoutAndBuild(Map args) {
node("${args.nodeName}") {
checkout([$class: 'GitSCM',
branches: scm.branches,
doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
extensions: scm.extensions +
[[$class: 'SubmoduleOption',
disableSubmodules: false,
parentCredentials: false,
recursiveSubmodules: true,
reference: '',
trackingSubmodules: false]] +
[[$class: 'CleanCheckout']],
userRemoteConfigs: scm.userRemoteConfigs
])
step([$class: 'CopyArtifact',
filter: "AppCommon/*/**, cmake/**/*, core/**/*, thirdparty/prebuilt/${args.prebuiltDir}/**/*, tools/**/*",
fingerprintArtifacts: true,
projectName: "${args.engineDependency_Job}",
selector: [$class: 'SpecificBuildSelector', buildNumber: "${args.engineDependency_BuildNo}"],
target: 'engine'])
dir("build/${args.buildDir}") {
echo …Run Code Online (Sandbox Code Playgroud)