-
Bug
-
Resolution: Won't Fix
-
Minor
-
None
When using SSH slaves plugin to connect over SSH to a Cygwin machine
the EnvInject scripts ignores bash as default shell.
EnvInject scripts seems to use *.bat wrapper to run commands, but
rather should use shell script wrapper similarly as shell builder - which works well.
We use Jenkins Job Builder to generate jobs from YAML for both linux and windows platform. This bug breaks symmetry otherwise possible due to Cygwin.
The only workaround is to fix windows jobs manually which is laborous and error-prone.
Lower priority since I finally succeed to move our script from EnvInject
to builder step.
Output from a test job follows. This includes:
- Prepare an environment for the run - script calling bash
- Inject environment variables to the build process - script calling dir and echo
- shell builder - calling 'pwd' (under bash)
---------------------------------
Started by user Jan Brezina
[EnvInject] - Loading node environment variables.
[EnvInject] - Preparing an environment for the build.
[EnvInject] - Keeping Jenkins system variables.
[EnvInject] - Keeping Jenkins build variables.
[EnvInject] - Executing and processing the following script content:
c:/cygwin64/bin/bash -c "echo $PATH"
[jenkins] $ cmd /c call C:\Users\jenkins\hudson536416728738181446.bat
C:\cygwin64\home\jenkins\jenkins>c:/cygwin64/bin/bash -c "echo $PATH"
/usr/local/bin:/usr/bin:/cygdrive/c/Program/ Files/ (x86)/MiKTeX/ 2.9/miktex/bin:%PATH%:/cygdrive/d/Dokumenty/Tex/TeXLive/bin/win32:/bin:/cygdrive/c/Program/ Files/Java/jre7/bin
C:\cygwin64\home\jenkins\jenkins>exit 0
[EnvInject] - Script executed successfully.
[EnvInject] - Injecting contributions.
Building remotely on Windows-Ales-Balvin in workspace C:\cygwin64\home\jenkins\jenkins\workspace\test_win
[EnvInject] - Executing scripts and injecting environment variables after the SCM step.
[EnvInject] - Executing and processing the following script content:
dir
echo "BUILD_NAME=${GIT_BRANCH##origin/}@${GIT_COMMIT:0:6}" >prop.file
[test_win] $ cmd /c call C:\Users\jenkins\hudson3479905117661601674.bat
C:\cygwin64\home\jenkins\jenkins\workspace\test_win>dir
Svazek v jednotce C je OS.
S�riov� ��slo svazku je 568F-8D02.
V�pis adres��e C:\cygwin64\home\jenkins\jenkins\workspace\test_win
10.12.2013 14:26 <DIR> .
10.12.2013 14:26 <DIR> ..
10.12.2013 14:26 56 prop.file
Soubor�: 1, Bajt�: 56
Adres���: 2, Voln�ch bajt�: 19�212�156�928
C:\cygwin64\home\jenkins\jenkins\workspace\test_win>echo "BUILD_NAME=${GIT_BRANCH##origin/}@${GIT_COMMIT:0:6}" 1>prop.file
C:\cygwin64\home\jenkins\jenkins\workspace\test_win>exit 0
[EnvInject] - Script executed successfully.
[test_win] $ sh -xe C:\Users\jenkins\hudson1493480721777491484.sh
+ pwd
/home/jenkins/jenkins/workspace/test_win
Finished: SUCCESS