最近搭了一个测试环境,需求是从windows 的 clearcase 客户端拿源代码,放到 Linux 机器上编译并作自动化测试,整个过程作为一个Jenkins 的Job 定时自动触发。
windows 和 Linux 共享文件夹选择 Samba 工具, Linux 作为Samba 服务器端,共享的文件夹在Windows 上通过用户名和密码访问,并且可以映射到本地盘符。
关于Samba 的配置和权限管理,见后续文章。
这篇文章想说明的问题是在Samba 共享文件夹配置好之后,怎样在Jenkins 的 “Execute Windows Batch Command ” 窗口里面正常访问 共享文件夹的映射盘。
遇到的问题是这样的,在windows 中全部通过窗口和菜单来实现映射,比如 \\IP address\共享文件夹 给一个盘符 Y:
然后通过cmd 窗口来执行Jenkins 需要执行的命令,一切运行正常,但是把命令填到Jenkins 的 “Execute Windows Batch Command ” 窗口里面,执行
xcopy source_path Y:\share 会出现找不到 Y 盘
这时候的解决方法是在 “Execute Windows Batch Command ” 里面用net use 重新映射一次 Y 盘,
语法如下:
net use Y: \\IP_address\share "password" /user:"username"
其中,IP_address 是samba服务器所在的Linux 机器的IP 地址,
share 是共享文件夹的名字
password 是samba 配置的密码
username 是samba 配置的用户名
需要注意一点“password” 后面有个空格,不要漏掉,不然会报密码错误。