我有一台安装了 Cygwin 1.7.35 的远程 Windows 计算机,我们将它用作与 Jenkins 进行 CI 测试的从属计算机。
我创建了一个 Jenkins 作业来构建一个 Maven 项目(从存储库克隆后)。
Jenkins 包含 Cygpath 1.5 插件,Cygwin 的注册表路径是 SOFTWARE/Cygwin/Setup
我使用 PreStep 从存储库中克隆项目:
source ~/.profile > /dev/null
cd /cygdrive/c
rm -rf .$WORKSPACE/project-name
hg clone something something
存储库克隆工作正常。构建失败,我在控制台输出中收到此错误:
ERROR: Failed to parse POMs
hudson.util.IOException2: Failed to locate Cygwin installation. Is Cygwin installed?
at hudson.plugins.cygpath.CygpathLauncherDecorator$GetCygpathTask.getCygwinRoot(CygpathLauncherDecorator.java:138)
etc...
我尝试将 Path 变量从 C:\cygwin64\bin 重写为 C:/cygwin64/bin 并返回。我先在 Cygwin 1.7.32 上尝试了这个,然后在 1.7.35 上再次尝试。我尝试将注册表项中的路径从 C:\Cygwin64 更改为 C:Cygwin64\bin 并返回。没有任何效果。
我的同事在同一个 Jenkins 服务器上用同一个 slave 构建了他的项目,但是他正在使用带有 build.xml 的 Ant 项目,它工作得很好。
请问,您对如何解决这个问题有什么建议吗?
谢谢!
彼得