Jenkins没有在windows上运行sh命令

Jenkins没有在windows上运行sh命令,windows,jenkins,sh,jenkins-groovy,Windows,Jenkins,Sh,Jenkins Groovy,在jenkins管道内运行sh命令时,命令本身不会运行 shell是我的PATH变量的一部分,因此cmd提示符正在运行,但命令没有运行 管道内的代码: sh "echo Hello World" bat "echo Hello World" 结果: [Pipeline] sh Microsoft Windows [Version 10.0.18362.657] (c) 2019 Microsoft Corporation. Alle rechten voorbehouden. C:\Prog

在jenkins管道内运行sh命令时,命令本身不会运行

shell是我的PATH变量的一部分,因此cmd提示符正在运行,但命令没有运行

管道内的代码:

sh "echo Hello World"
bat "echo Hello World"
结果:

[Pipeline] sh
Microsoft Windows [Version 10.0.18362.657]
(c) 2019 Microsoft Corporation. Alle rechten voorbehouden.

C:\Program Files (x86)\Jenkins\workspace\testCI>
[Pipeline] bat

C:\Program Files (x86)\Jenkins\workspace\testCI>echo Hello World 
Hello World
如何运行sh命令?
我不希望依赖bat,因为这个管道(和jenkins工作区)将来将被移动到UNIX环境中

尝试安装git bash或cygwin。默认情况下,Sh和Bash可执行文件随附


您可以在此处使用该sh文件的路径。

尝试安装git bash或cygwin。默认情况下,Sh和Bash可执行文件随附


您可以在此处使用该sh文件的路径。

因为它是一个Windows 10代理,我建议您安装一个Linux子系统,因为您计划将来移动到类似的环境。但是,这将要求您在该子系统中重新安装Jenkins,但它的行为方式将与任何其他UNIX系统上的行为方式相同,而无需配置和管理第三方软件,这些软件不能保证在Windows(使用Jenkins)上像在UNIX系统上一样工作

您可以在Linux子系统上安装一个新的Jenkins主机,同时保持Windows主机的完整性,然后在按照您希望的方式进行配置时迁移用户

安装WSL


由于它是一个Windows 10代理,我建议安装一个Linux子系统,因为您计划将来迁移到类似的环境。但是,这将要求您在该子系统中重新安装Jenkins,但它的行为方式将与任何其他UNIX系统上的行为方式相同,而无需配置和管理第三方软件,这些软件不能保证在Windows(使用Jenkins)上像在UNIX系统上一样工作

您可以在Linux子系统上安装一个新的Jenkins主机,同时保持Windows主机的完整性,然后在按照您希望的方式进行配置时迁移用户

安装WSL


我正在PATH变量中使用Git bash。它运行的是shell,而不是命令我在PATH变量中使用的Git bash。它运行的是shell,而不是commandJenkins最终将在Docker容器中运行。。但是,在管道设置期间,它在Win-10机器上本地运行。在Linux(或容器)中设置它似乎只是为了让SH接受我的命令而“矫枉过正”.Jenkins最终将在Docker容器中运行。。但是,在管道设置期间,它在Win-10机器上本地运行。在Linux(或容器)中设置它似乎只是为了让SH接受我的命令而“矫枉过正”。。