stage(code_scan, ut & build) {
parallel static_code_scan: {
}, unit_test: {
}, build: {
}
}我有一个拉请求管道,它的构建阶段运行一个shell脚本,启动静态代码扫描,然后是单元测试,最后是构建阶段。我使用3个case语句来拆分脚本,每个语句都由我正在编写的3个并行作业调用。这个作业运行在两个构建节点上,我相信我的并行脚本设置不能同时处理两个以上的并行作业,问题是使用索引包。
问题是,所有三个步骤都需要git克隆一个存储库来运行每个任务。我能够做到这一点,只有两个平行的步骤,但不是全部三个在一起。这是我得到的错误:
17:09:00 + git clone git@github.com:[REPO].git -b master .
17:09:00 Cloning into '.'...
17:09:02 fatal: Unable to read current working directory: No such file or directory
17:09:02 fatal: index-pack failed发布于 2021-02-23 17:55:24
你可以这样试一下,它会很光滑的。
node {
deleteDir()
parallel build: {
dir('build') {
git url: "https://github.com/dontknow/test0.git", branch: "main"
sh 'ls -al'
}
}, scan: {
dir('scan') {
git url: "https://github.com/dontknow/test0.git", branch: "main"
sh 'ls -al'
}
}, test : {
dir('test') {
git url: "https://github.com/dontknow/test0.git", branch: "main"
sh 'ls -al'
}
}
}发布于 2021-02-23 20:09:36
如果三个并行阶段运行在两个节点上,您可能会遇到这样的情况:两个阶段在同一个节点上运行,在同一个目录中运行。试图两次在同一个目录中克隆回购文件可能会失败。您可以尝试一个dir()指令来强制一个不同名称的目录,或者为每个阶段提供一个代理,这将保证一个阶段的唯一目录。
https://stackoverflow.com/questions/66324570
复制相似问题