我喜欢groovy。这是非常强大的脚本,我们在任何地方都使用它。最近在Jenkins服务器上,我们试图通过subst命令创建驻留在虚拟驱动器上的一些文件。问题是,似乎groovy不支持虚拟驱动器,但我没有找到任何确认。这是真的吗,有没有解决方法?如何在groovy中列出虚拟(子)磁盘中的文件?
这里是我们使用的示例代码:
import groovy.io.FileType
def list = []
//the original file path for T: is C:\Users\MyUser\workspace\MyProject\src\test\data
def dir = new File("T:" + "\\")
dir.eachFile (FileType.FILES) { file ->
list << file
}
list.each{
println "${it}"
}
我们得到的结果是:
[EnvInject] - 判断Groovy脚本内容[EnvInject] - [错误] - 问题在构建 包装器中定义的注入环境变量时发生:org.jenkinsci.lib.envinject.EnvInjectException:无法对 评估脚本。 java.io.FileNotFoundException:T :.请参阅系统 登录更多信息
任何帮助表示赞赏。
我过去是这样的挣扎着,显然是“虚拟驱动器映射”并不一定对所有用户可见。你是如何设置虚拟驱动器的,以及Jenkins运行的用户和权限? (如果您指定,可能会提示正确的专家提出见解) –
嗨Hugues Moreau 9.感谢您的反馈。这是有趣的提示。我正在用我自己的用户运行Jenkins。有趣的是,我现在在SoapUI下尝试了相同的脚本,并且它工作正常。这意味着Groovy可以处理虚拟驱动器,但在Jenkins下无法处理它们。我会尽力调查更多这一部分。 – Gico
詹金斯是否作为服务运行?这也很重要 –