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

Linux运行的Jenkins如何访问本地文件或Windows服务器网络目录文件

Linux Jenkins访问Windows共享目录加载文件到Workspace方案

最优最简方案推荐

按照实现成本从低到高排序,优先选第一种:

方案1:SMB共享挂载(适合频繁访问共享目录的场景)

操作步骤:

  • 先在Jenkins部署的Linux节点安装依赖工具
    Debian/Ubuntu系执行:sudo apt install -y cifs-utils
    RHEL/CentOS系执行:sudo yum install -y cifs-utils
  • 新建本地挂载目录:sudo mkdir -p /mnt/win_smb_share
  • 临时挂载测试:
    sudo mount -t cifs //<Windows服务器IP>/<共享文件夹名> /mnt/win_smb_share -o username=<Windows共享账号>,password=<共享密码>,vers=3.0,uid=$(id -u jenkins),gid=$(id -g jenkins)
    
    参数说明:vers对应SMB协议版本,Win10/Server2016及以上版本填3.0即可;uid和gid设置为Jenkins运行用户的ID,避免Jenkins没有权限读取挂载后的文件
  • 如需开机自动挂载,在/etc/fstab末尾添加如下配置:
    //<Windows服务器IP>/<共享文件夹名> /mnt/win_smb_share cifs credentials=/etc/smb_auth,vers=3.0,uid=jenkins,gid=jenkins 0 0
    
    新建/etc/smb_auth文件保存账号密码,内容为:
    username=<你的Windows共享账号>
    password=<你的共享密码>
    
    执行sudo chmod 600 /etc/smb_auth避免密码泄露。

挂载完成后,你可以直接在Pipeline里用cp命令把文件拷到Workspace:

stage('复制共享文件到Workspace') {
    steps {
        sh 'cp /mnt/win_smb_share/目标文件 ${WORKSPACE}/'
    }
}

方案2:smbclient直接拉取(适合偶尔访问、不想挂载目录的场景)

操作步骤:

  • 安装工具:sudo apt install -y smbclient(Debian/Ubuntu系)或sudo yum install -y smbclient(RHEL/CentOS系)
  • Pipeline中直接调用命令拉取文件即可:
    pipeline {
        agent any
        stages {
            stage('拉取Windows共享文件') {
                steps {
                    // 拉取单个文件
                    sh 'smbclient //<Windows服务器IP>/<共享文件夹名> -U "共享账号%共享密码" -c "get 目标文件名 ${WORKSPACE}/目标文件名"'
                    // 拉取整个目录所有文件打开下面这行即可
                    // sh 'smbclient //<Windows服务器IP>/<共享文件夹名> -U "共享账号%共享密码" -c "recurse ON; prompt OFF; mget *"'
                }
            }
        }
    }
    
    注意:生产环境不要明文写密码,将账号密码存入Jenkins凭据管理,调用时用凭据变量即可

本地目录文件加载方案

如果是要把Jenkins节点本地的文件拷到Workspace,直接执行cp命令即可:
sh 'cp /本地目录的完整路径/目标文件 ${WORKSPACE}/'


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 12:24:04