我有 Windows 10,我想使用 bash for Ubuntu for Windows 从 Jenkins 管道执行 Jenkinsfile 中的 sh 命令,但它不起作用
我的 Jenkins 管道有以下阶段:
stage('sh how to') {
steps {
sh 'ls -l'
}
}
错误消息是:
[C:\Program Files (x86)\Jenkins\workspace\pipelineascode] 运行 shell 脚本
无法运行程序“nohup”(在目录“C:\Program Files (x86)\Jenkins\workspace\pipelineascode”中):CreateProcess error=2,Le fichier spécifié est introuvable
我尝试更改 Jenkins 参数->shell 可执行文件
C:\Windows\System32\bash.exe
但同样的错误...
如何使用Windows 10的bash运行sh脚本?
通过快速搜索,您的错误似乎与以下问题有关:JENKINS-33708
主要原因看起来像sh
Windows 不支持该步骤。您可以使用bat
或安装Cygwin
例如。
尽管如此,上一个链接中提出了两种解决方案,建议您执行以下步骤:
- Install git-bash
- 确保 Git\bin 文件夹(即:
C:\Program Files\Git\bin
) 位于全局搜索路径中,以便 Jenkins 找到 sh.exe
- Make nohup available for Jenkins, doing the following in git-bash (adapt your paths accordingly) :
- mklink "C:\Program Files\Git\bin\nohup.exe" "C:\Program Files\git\usr\bin\nohup.exe"
- mklink "C:\Program Files\Git\bin\msys-2.0.dll" "C:\Program Files\git\usr\bin\msys-2.0.dll"
- mklink "C:\Program Files\Git\bin\msys-iconv-2.dll" "C:\Program Files\git\usr\bin\msys-iconv-2.dll"
- mklink "C:\Program Files\Git\bin\msys-intl-8.dll" "C:\Program Files\git\usr\bin\msys-intl-8.dll"
根据您的安装,您可能必须使用这些路径:
- mklink "C:\Program Files\Git\cmd\nohup.exe" "C:\Program Files\git\usr\bin\nohup.exe"
- mklink "C:\Program Files\Git\cmd\msys-2.0.dll" "C:\Program Files\git\usr\bin\msys-2.0.dll"
- mklink "C:\Program Files\Git\cmd\msys-iconv-2.dll" "C:\Program Files\git\usr\bin\msys-iconv-2.dll"
- mklink "C:\Program Files\Git\cmd\msys-intl-8.dll" "C:\Program Files\git\usr\bin\msys-intl-8.dll"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)