【问题标题】:What shells/command line tools does Jenkins have available on windows?Jenkins 在 Windows 上提供了哪些 shell/命令行工具?
【发布时间】:2016-03-24 06:25:13
【问题描述】:

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

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

在 Jenkins 文件夹中搜索 *.exe 既没有发现 sh.exe 也没有发现 tar.exe,所以我不确定这些来自哪里。

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

【问题讨论】:

    标签: windows bash shell jenkins sh


    【解决方案1】:

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

    简而言之:

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

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


    来源:

    两者都源自

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-07
      • 1970-01-01
      • 2012-02-05
      • 1970-01-01
      • 2015-08-03
      • 2013-10-10
      • 2017-03-07
      • 1970-01-01
      相关资源
      最近更新 更多