Jenkins脚本化流水线:修改Node块默认工作区名称并避免重复分配
Jenkins脚本化流水线修改node默认工作区的方法
答案是肯定的,你完全可以修改node('myAgent'){...}自动分配的默认工作区,不用再嵌套ws块导致工作区翻倍,这里给你两种靠谱的实现方式:
直接给node块指定workspace参数
这种方式最直接,在声明node的时候就指定好自定义工作区,整个node块内的代码都会在这个路径下执行,不会产生额外的隐式工作区分配:node('myAgent', workspace: "ws${env.BUILD_ID}/myWorkspace") { // 你的流水线逻辑写在这里,直接使用指定的工作区 }在node块内调用customWorkspace步骤
如果需要在node块执行过程中动态切换工作区,或者更灵活地定义路径,可以用customWorkspace步骤,调用后后续所有步骤都会切换到指定工作区:node('myAgent') { customWorkspace "ws${env.BUILD_ID}/myWorkspace" // 后续的流水线操作都将使用这个自定义工作区 }
你之前用node嵌套ws的方式之所以会导致工作区翻倍,是因为node块会先自动创建一个默认工作区,然后ws步骤又会新建一个独立的工作区,两个都会被Jenkins纳入管理。而上面的两种方法都是直接复用或替换node块的默认工作区,只会产生一个工作区,完美解决你的问题。
内容的提问来源于stack exchange,提问作者salkin
相关产品推荐
相关产品推荐

