You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Jenkins Pipeline默认工作区:从Master切换至Slave节点

如何把Pipeline Script from SCM的代码克隆到Windows Slave工作区

其实你完全不需要额外插件就能实现这个需求,核心是通过Pipeline的节点指定逻辑,就能控制代码克隆的目标位置。下面给你两种实用的实现方式:

方式一:让整个Pipeline都在Windows Slave上运行

如果你的整个构建流程都需要在Windows环境下执行,直接在Jenkinsfile开头指定运行节点为你的Windows Slave即可——这样Git仓库会自动克隆到该Slave的工作区:

pipeline {
    agent {
        label 'windows-slave' // 替换成你的Windows Slave对应的标签名
    }
    stages {
        stage('Checkout Code') {
            steps {
                checkout scm // 这一步会直接把代码克隆到Windows Slave的工作区
            }
        }
        stage('Build & Test') {
            steps {
                // 这里写你在Windows环境下的构建/测试命令,比如`msbuild MyProject.sln`
            }
        }
    }
}

方式二:仅让代码克隆阶段在Windows Slave执行

如果你的Pipeline里有部分步骤需要在Master(Unix)上运行,只希望代码克隆到Windows Slave,可以给特定阶段单独指定agent:

pipeline {
    agent none // 全局不设置默认节点
    stages {
        stage('Clone Code on Windows Slave') {
            agent {
                label 'windows-slave'
            }
            steps {
                checkout scm // 代码会被克隆到Windows Slave的工作区
                // 如果后续Master阶段需要用到这份代码,可以先归档
                stash includes: '**/*', name: 'project-source'
            }
        }
        stage('Run Tasks on Master') {
            agent {
                label 'master'
            }
            steps {
                unstash 'project-source' // 把Slave上的代码拉到Master工作区
                // 这里写Master上需要执行的命令
            }
        }
    }
}

额外提示

当你使用"Pipeline Script from SCM"时,Jenkins的默认逻辑是在当前Pipeline运行的节点上克隆代码——如果没指定agent,默认会用Master。所以只要你明确指定了agent为Windows Slave,克隆操作就会自动转到该Slave的工作区,完全不需要额外插件。

另外别忘了确认你的Windows Slave已经正确配置了Git环境(安装Git并添加到系统PATH),这样checkout scm才能正常完成克隆。

内容的提问来源于stack exchange,提问作者Aravind

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:11:04