Rah*_*ani 2 parallel-processing workspace jenkins jenkins-pipeline jenkins-declarative-pipeline
我有 3 个构建作业,它们在声明性 jenkins 文件中并行运行。它们运行在同一个节点,需要使用同一个工作空间。问题是 Jenkins 为每个阶段引用的工作空间,例如:
C:\UserData\Workspace \\Workspace for Job1
C:\UserData\Workspace@2 \\Workspace for Job2
C:\UserData\Workspace@3 \\Workspace for Job3
Run Code Online (Sandbox Code Playgroud)
Jenkins 为剩余 2 个阶段附加“@2”和“@3”,因此存在路径问题并且作业失败。有人可以帮我解决这个问题吗?
My code is:
pipeline {
stages {
stage('Build') {
parallel {
stage('Job1') {
agent {
node {
label 'label1'
customWorkspace = "C:\UserData\Workspace"
}
}
stage('Job2') { ... similar code ... }
stage('Job3') { ... similar code ... }
}
}
Run Code Online (Sandbox Code Playgroud)
不同的工作空间是必要的,否则作业将同时在同一工作空间内运行并遇到资源冲突。如果两个或多个作业读取或写入同一个文件怎么办?这是危险的,而且结果是不可预测的。另请注意,无法保证哪个并行作业将首先完成。您的管道可能在一个工作节点上工作正常,但在具有不同配置(例如最大并发作业数)的另一个工作节点上可能会失败。我在这里看到两种情况:
stash/unstash命令获取这些文件。如果你解释一下为什么这些工作“需要使用相同的工作空间”,我们也许可以找到更好的解决方案。
| 归档时间: |
|
| 查看次数: |
2715 次 |
| 最近记录: |