Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Jenkins和Windows slave进行Cygpath故障排除_Windows_Maven_Jenkins_Cygwin_Cygpath - Fatal编程技术网

使用Jenkins和Windows slave进行Cygpath故障排除

使用Jenkins和Windows slave进行Cygpath故障排除,windows,maven,jenkins,cygwin,cygpath,Windows,Maven,Jenkins,Cygwin,Cygpath,我有一台安装了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-n

我有一台安装了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服务器上用同一个从服务器构建了他的项目,但是他使用了一个带有build.xml的Ant项目,它工作得很好

请问,你对如何解决这个问题有什么建议吗

谢谢

彼得我找到了答案

我在下面创建了一个新的注册表项

软件\Cygnus解决方案\Cygwin\ 字符串rootdir指向cygwin64

这很奇怪,因为在我的Jenkins中,我使用cygpath 1.5,它应该找到Cygwin安装的正确路径,该路径位于registry path SOFTWARE\Cygwin\setup下

我还必须更改Jenkins从机配置,因为从机Java SDK版本与全局Jenkins设置中的Java SDK版本不同

我希望有人觉得这有帮助!
Peter

我查看了引发异常的文件的源代码,发现它需要一个来自键的字符串

HKLM/SOFTWARE/Wow6432Node/Cygwin/setup

名为“rootdir”,具有Cygwin安装的绝对路径

编辑:我最终创建了密钥“设置”,因为它不存在