cwrsync不能在jenkins下工作

时间:2015-03-20 14:46:57

标签: batch-file jenkins cwrsync

我正在使用带有cygdrive表示法的cwrsync来引用磁盘驱动器。 在通常的cmd(或批处理文件)中,它工作得很好,但是当在jenkins环境中使用带有rsync调用的bat文件时(我的意思是当jenkins slave运行这个bat文件时)rsync会出现如下错误:

rsync: change_dir "/cygdrive/q/build" failed: No such file or directory (2)

我应该在哪个方向挖掘?

PS。 rsync版本是3.1.1,捆绑在cygwin 1.7.32;在Windows Server 2012上。

UPD。 Q与网络映射驱动有关。

1 个答案:

答案 0 :(得分:1)

我发现Windows中的网络驱动器与用户有关。只要jenkins不使用您正在使用的常规用户 - 如果它们不是以某种方式全局可见,它将看不到任何网络映射驱动器。

因此,解决方案是自动执行命令以将网络驱动器映射为SYSTEM用户(由jenkins使用):因此我创建了bat文件,其执行以下操作:

net use Q: \\host\sharename /persistent:no

并按计划任务从SYSTEM用户启动(由网络变为可用) - 请参阅this question

注意:/ persistent:是由于某种原因无效。