tutorial significado para descargar windows jenkins continuous-integration hudson

significado - Hudson en Windows-Error: java.io.IOException: No se puede ejecutar el programa "sh"



jenkins windows server (4)

En mi caso, las compilaciones funcionaron utilizando el "Ejecutar shell" antes de hacer un reinicio y migración del sistema y le dieron al Cannot run program "sh" después. El problema era que la ruta del sistema se acortaba inesperadamente. No está claro por qué, pero la ruta perdió C:/Program Files (x86)/Git/bin y la versión de Git que estaba usando viene con sh.exe .

Por supuesto, puede cambiar todos sus pasos de compilación "Ejecutar shell" por "Ejecutar el comando por lotes de Windows" en todos sus trabajos, tal como lo sugiere @funkybro. Esto no resuelve su problema si tiene un trabajo que podría ejecutarse en un sistema Windows o Linux y tiene ambos sistemas por otros motivos.

O bien, podría cambiar esta configuración para usar cmd.exe como lo sugiere @ajith: Administrar Jenkins -> Configurar sistema -> Shell -> Shell ejecutable = C:/Windows/system32/cmd.exe

Pero , me gusta tener comandos de Linux y usar algo que se asemeja más a Bash. Es mi propia preferencia, pero pensé que esto también podría ser útil. Para empezar desde el principio, usé Chocolatey NuGet para instalar Git. También recomiendo GnuWin para darle algunos de los comandos de Unix muy útiles.

A continuación, puede solucionarlo utilizando la interfaz de usuario de Windows agregando C:/Program Files (x86)/Git/bin/ a la ruta del sistema.

O puede solucionarlo en la configuración global de Jenkins: Gestionar Jenkins -> Configurar sistema -> Shell -> Ejecutar Shell = C:/Program Files (x86)/Git/bin/sh.exe

Estoy tratando de hacer una integración continua con Hudson y MSTest.

Cuando intento ejecutar este trabajo, aparece el siguiente error:

1 Warnung(en) 0 Fehler Verstrichene Zeit 00:00:00.13 [workspace] $ sh -xe C:/Windows/TEMP/hudson4419897732634199534.sh The system cannot find the file specified FATAL: Befehlsausführung fehlgeschlagen java.io.IOException: Cannot run program "sh" (in directory "C:/Users/Markus/.hudson/jobs/Test1 Unit TEst/workspace"): CreateProcess error=2, Das System kann die angegebene Datei nicht finden at java.lang.ProcessBuilder.start(Unknown Source) at hudson.Proc$LocalProc.<init>(Proc.java:187) at hudson.Proc$LocalProc.<init>(Proc.java:157) at hudson.Launcher$LocalLauncher.launch(Launcher.java:649) at hudson.Launcher$ProcStarter.start(Launcher.java:266) at hudson.Launcher$ProcStarter.join(Launcher.java:273) at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:79) at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:54) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:34) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:646) at hudson.model.Build$RunnerImpl.build(Build.java:181) at hudson.model.Build$RunnerImpl.doRun(Build.java:136) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:434) at hudson.model.Run.run(Run.java:1390) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:40) at hudson.model.ResourceController.execute(ResourceController.java:81) at hudson.model.Executor.run(Executor.java:137) Caused by: java.io.IOException: CreateProcess error=2, Das System kann die angegebene Datei nicht finden at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.<init>(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) ... 17 more Processing tests results in file results.trx FATAL: No MSTest TRX test report files were found. Configuration error? [DEBUG] Skipping watched dependency update for build: Test1 Unit TEst #5 due to result: FAILURE Finished: FAILURE

Mi configuración se ve así:

Buildverfahren Build a Visual Studio project or solution using MSBuild MSBuild Version MS Build .NET 4 MSBuild Build File trunk/UnitTestWithNHibernate/UnitTestWithNHibernate.sln Command Line Arguments /p:Configuration=Release

Mi línea de comando se ve así:

"C:/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/MSTest.exe" /runconfig: trunk/UnitTestWithNHibernate/UnitTest/LocalTestRun.testrunconfig /testcontainer: trunk/UnitTestWithNHibernate/UnitTest/bin/Debug/UnitTest.dll /resultsfile:results.trx


Esto sucede porque Jenkins no tiene conocimiento de la ruta del shell.
En Gestionar Jenkins -> Configurar sistema -> Shell, configure la ruta del shell como

C: / Windows / system32 / cmd.exe


Esto sucede si ha especificado su comando de Windows como "Ejecutar shell" en lugar de "Ejecutar el comando de lote de Windows".


La forma de solucionar el problema fue poner el valor de C:/Windows/system32/cmd.exe en la configuración de "Shell ejecutable" en la configuración del sistema Hudson.

En la sección de creación de su trabajo, puede poner el comando de Windows para ejecutar después de compilar el proyecto EX:

copy target/pmd-rules-extensions-0.0.1-SNAPSHOT.jar D:/projects/sonar/sonar-3.4.1/extensions/rules/pmd/