关于jenkins pipeline在禁用并行构建的情况下还是产生@2这种目录的解释

产生@2 原因 就是 原本的目录被占用了, 那被谁占用了 ???

jenkins  pipeline 构建, 无论我们是从仓库中获取的jenkinsfile, 还是在pipeline job中直接写的groovy pipeline脚本. 

  如果是从仓库中获取的jenkinsfile, 那么获取这个jenkinsfile的步骤发生在 jenkins server上的$JENKINS_HOME/workspace/$JOB_NAME 目录下

  直接写在job里面的groovy pipeline ,不需要获取jenkinsfile, job里面写的pipeline脚本会直接加载到jenkins server

 

都会在获取到jenkinsfile后, 跑到执行节点上占用自动生成的workspace, 这个过程无法控制,一定会发生. 你仔细观察log就能发现这一点

 

此时如果我们在pipeline中指定了和自动生成的workspace一样的customWorkspace,  那么jenkins就会觉得这个workspace目录已经被占用了.不安全, jenkins就会给你分配一个@2的目录.

  jenkins就没去分析这个目录是谁占用的. 哪怕是当前JOB的上游自己占用的....

 

规避方案:

  1. 不要指定 customWorkspace , 那jenkins就会使用自己之前占用的自动生成的workspace

  2. 或者设置一个和自动生成的workspace不一样的customWorkspace即可

 

posted @ 2026-02-05 19:10  黑山老猫  阅读(3)  评论(0)    收藏  举报