Jenkins在Windows上可以使用哪些shell /命令行工具?

时间:2015-12-17 17:13:00

标签: windows bash shell jenkins sh

我注意到两个不同的构建步骤:“执行shell”和“执行Windows批处理命令”。后者使用的是windows shell,当然这很糟糕......但前者使用的是什么shell?我注意到它是类似bash的,虽然转义有一些奇怪的属性(例如$ENVVAR用单引号包装它。)

还有哪些工具可用?我注意到tar可用,例如,即使我从未在该机器上安装它。 which tar显示/usr/bin/tar,而which zip显示“没有拉入(/mingw64/bin:/usr/bin:/c/bin:/ ... windows paths ...)”......但这些目录在哪里/ shell运行的环境是什么?

在Jenkins文件夹中搜索*.exe时,未显示sh.exetar.exe,因此我不确定这些来自何处。

具体来说,指向文档的指针将不胜感激 - 我还没有找到任何。

1 个答案:

答案 0 :(得分:0)

我发现one thread on Jenkins Users讨论了这个确切的问题。

简而言之:

  • Shell执行使用sh
  • 批量使用cmd

如果安装了MinGW,可以使用Shell执行。

来自资料来源:

两者都来自

Shell执行尝试在Windows上运行sh,在非Windows上运行/bin/sh(区别实际上是使用系统路径分隔符完成的)。这可以使用shebang进行更改(请参阅Shell.buildCommandLine

环境变量似乎是从Build本身(无论是什么)获取的,然后由当前构建变量,服务器的URL,当前工作空间等丰富。这非常复杂,无法从中查看代码本身。我发现other answers on SO解决了环境问题。