我使用Jenkinse(file)Piplines,并希望并行运行多个构建步骤(例如,不同的常量-无法将这些常量传递给编译器,必须通过脚本更改源代码)。
这可能看起来像这样:
stage('Build') {
steps {
parallel(
build_default: {
echo "WORKSPACE: ${WORKSPACE}"
bat 'build.bat'
},
build_remove: {
echo "WORKSPACE 2: ${WORKSPACE}"
// EXAMPLE: only to test interference
deleteDir() // <- this would be code changes
}
)
}
}
这不起作用,因为在完成编译之前,所有代码都已删除。我想像jenkins一样并行运行两个步骤(创建多个临时目录@2
等等),当2个构建并行运行时(例如,通过按下按钮触发)。
到目前为止,我发现的唯一一件事是在工作目录中自己创建了临时目录,并将源代码复制到它们并在那里工作。但是我正在寻找更好/更自动化的解决方案。 (当使用node命令时,由于只有一个节点,我也遇到同样的问题)