Linux Jenkins测试Windows共享中是否存在文件

时间:2018-08-08 13:55:57

标签: linux jenkins groovy jenkins-pipeline

我有一个主Linux Jenkins服务器。我需要使用管道测试远程Windows共享上是否存在文件。

有没有简单的方法可以做到这一点?我了解到“ fileExists”仅适用于本地工作空间,所以不好。

这可能吗?还是我需要使用sh命令来做一些魔术?

谢谢!

克雷格

2 个答案:

答案 0 :(得分:0)

如果您在Jenkins服务器上安装了LFTP,则可以尝试以下操作

$ lftp -c "open sftp://hostname_remote_windows_system ; find file_to_be_found.txt"

答案 1 :(得分:0)

请注意,fileExists()需要在节点上执行。因此:如何将一个Windows节点连接到Linux主服务器,以进行fileExists(),如:

def fileDoesExist
node('windows') {
    fileDoesExist = fileExists(pathToFile)
}

请注意,一次访问Windows文件共享需要net use。因此,为了使它也能在从未访问过共享的新计算机上工作,应该执行以下操作:

def fileDoesExist
node('windows') {
    bat 'net use \\\\share\\path\\to\\some\\directory'
    fileDoesExist = fileExists('//share/path/to/file')
}

if (fileDoesExist) {
    // do someting here
}