1

моя работа Jenkins терпит неудачу, поскольку это дает это сообщение об ошибках:

hudson.util.IOException2: Failed to locate Cygwin installation. Is Cygwin installed?
at hudson.plugins.cygpath.CygpathLauncherDecorator$GetCygpathTask.getCygwinRoot(CygpathLauncherDecorator.java:138)
at hudson.plugins.cygpath.CygpathLauncherDecorator$GetCygpathTask.call(CygpathLauncherDecorator.java:142)
at hudson.plugins.cygpath.CygpathLauncherDecorator$GetCygpathTask.call(CygpathLauncherDecorator.java:112)
at hudson.remoting.LocalChannel.call(LocalChannel.java:45)
at hudson.plugins.cygpath.CygpathLauncherDecorator$1.getCygpathExe(CygpathLauncherDecorator.java:104)
at hudson.plugins.cygpath.CygpathLauncherDecorator$1.cygpath(CygpathLauncherDecorator.java:86)
at hudson.plugins.cygpath.CygpathLauncherDecorator$1.launch(CygpathLauncherDecorator.java:65)
at hudson.Launcher$ProcStarter.start(Launcher.java:381)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:97)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
at hudson.model.Build$BuildExecution.build(Build.java:199)
at hudson.model.Build$BuildExecution.doRun(Build.java:160)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:533)
at hudson.model.Run.execute(Run.java:1759)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
Caused by: hudson.util.jna.JnaException: Win32 error: 2 - The system cannot find the file specified
at hudson.util.jna.RegistryKey.check(RegistryKey.java:124)
at hudson.util.jna.RegistryKey.open(RegistryKey.java:223)
at hudson.util.jna.RegistryKey.openReadonly(RegistryKey.java:218)
at hudson.plugins.cygpath.CygpathLauncherDecorator$GetCygpathTask.getCygwinRoot(CygpathLauncherDecorator.java:127)
... 18 more

Я запускаю Jenkins на Windows и хочу запустить сценарии в этом репозитории github: https://github.com/y0u-s/test

У меня есть путь к программе оболочки Jenkins: C:\cygwin64\bin\bash

Я застрял в этом прямо сейчас, что я могу сделать, чтобы решить эту проблему?

1 ответ1

0

Хорошо, я собираюсь опубликовать это решение в нескольких местах, так как это то, что сработало для меня, и эта проблема появляется в паре вопросов. К сожалению, решение требует некоторого редактирования реестра.

Решение TLDR:

- Make sure cygwin is installed
- Open regedit.
- Go to HKEY_LOCAL_MACHINE - SOFTWARE - Wow6432Node
- Right click on Wow6432Node New->Key name it Cygwin
- Right click on Cygwin New->Key name it setup
- Right click on setup New->String Value name it rootdir
- Right click on rootdir Modify set it to your cygwin folder mine was "C:\cygwin64"

Рассуждение

https://github.com/jenkinsci/cygpath-plugin/blob/master/src/main/java/hudson/plugins/cygpath/CygpathLauncherDecorator.java

Это код Дженкинса о том, как он находит Cygwin. Строка 115 - это начало цикла for, где она сначала выглядит в SOFTWARE\Wow6432Node, затем в SOFTWARE для каталога Cygwin. В моем случае у меня уже было «ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \Cygwin \setup \rootdir». Только кажется, что он не может его найти. Я опасаюсь, что есть какая-то проблема, когда он рано выходит из цикла или неправильно проверяет каталог ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ. Использование решения, размещенного выше, является неприятным решением этой проблемы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .