关于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即可
浙公网安备 33010602011771号