gpt4 book ai didi

jenkins - 在 Jenkinsfile 中结帐 scm

转载 作者:行者123 更新时间:2023-12-05 00:11:50 25 4
gpt4 key购买 nike

我在 Jenkinsfile 中有以下高级脚本管道:

stage('Generate') {
node {
checkout scm
}

parallel windows: {
node('windows') {
sh 'cmake . -Bbuild.windows -A x64'
}
},
macos: {
node('apple') {
sh '/usr/local/bin/cmake . -DPLATFORM="macos" -Bbuild.macos -GXcode'
}
},
ios: {
node('apple') {
sh '/usr/local/bin/cmake . -DPLATFORM="ios" -Bbuild.ios -GXcode'
}
}
}

注意顶部 node在并行 windows/macos/ios 节点之前。这是否意味着 checkout scm在进行并行步骤之前,将在每个后续构建节点(windows/apple)上调用?换句话说,上面的脚本是否保证将在此构建的任何阶段涉及的每个节点上 check out 存储库?

非常感谢。

最佳答案

第一node step 将分配任何构建代理并检查源代码。
稍后会分配额外的节点,我可以向您保证cmake将失败,因为它适用于空目录。

您可以使用 stash and unstash 复制构建(和后续阶段)所需的文件:

stage('Generate') {
node {
checkout scm
stash 'source'
}

parallel windows: {
node('windows') {
unstash 'source'
sh 'cmake . -Bbuild.windows -A x64'
}
},
macos: {
node('apple') {
unstash 'source'
sh '/usr/local/bin/cmake . -DPLATFORM="macos" -Bbuild.macos -GXcode'
}
},
ios: {
node('apple') {
unstash 'source'
sh '/usr/local/bin/cmake . -DPLATFORM="ios" -Bbuild.ios -GXcode'
}
}
}

关于jenkins - 在 Jenkinsfile 中结帐 scm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52637777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com