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

Jenkins执行Win10 cmd拉取局域网远程Git仓库失败,手动执行命令正常

核心问题原因

该问题是Windows环境下服务会话与交互式登录会话隔离的典型表现:

  • 你交互式登录机器时访问过\\INT-TEST-A-0的共享目录,访问凭证会被缓存到当前登录会话中,所以手动执行git命令可以正常识别UNC路径的远端仓库
  • Jenkins如果以Windows服务形式运行,哪怕配置了和你登录相同的用户,默认启动的会话也不会继承交互式登录的共享访问凭证,也默认没有权限直接访问UNC路径的网络资源,因此git无法识别远端仓库路径
可落地解决方案

按照优先级从高到低尝试:

  1. 先修复Jenkins服务的运行配置
    • 按下Win+R输入services.msc打开服务管理器,找到Jenkins对应的服务项,右键点击「属性」
    • 切换到「登录」标签页,确认选中了「此账户」且填入的用户名和你手动操作的账号完全一致,重新输入一遍该账号的登录密码后点击确认
    • 勾选下方的「允许服务与桌面交互」选项,重启Jenkins服务后重新执行任务测试
  2. 执行git操作前先挂载共享目录
    如果修改服务配置后仍无效,在你的Jenkins任务的Windows批处理脚本最开头添加挂载共享的命令:
    rem 提前挂载远程共享目录,替换为你实际的账号密码
    net use \\INT-TEST-A-0\SST_Repository_Origin /user:你的登录账号 你的登录密码
    
    再执行后续的git fetch、git pull命令即可
  3. 替换git远端地址为file协议格式
    部分版本的Windows Git在非交互式会话中对原生UNC路径的识别存在异常,可以将远端地址修改为file协议格式:
    git remote set-url origin file:////INT-TEST-A-0/SST_Repository_Origin
    
验证步骤

可以在Jenkins任务的批处理开头添加net use命令,查看执行日志中输出的已挂载共享列表,如果没有对应\\INT-TEST-A-0的共享项,即可确认是会话凭证缺失导致的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:18:03