首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改Jenkins中的Windows shell (从Cygwin更改为Git Bash/msys)

更改Jenkins中的Windows shell (从Cygwin更改为Git Bash/msys)
EN

Stack Overflow用户
提问于 2016-01-27 17:06:45
回答 4查看 24.6K关注 0票数 12

我有一个Windows 7和一个Windows 2012从服务器与Jenkins代理和Cygwin已经设置。我想避免Cygwin,只使用Git for Windows附带的Git Bash shell (我认为它被称为msysgit)。因此,我将C:\cygwin64重命名为C:\cygwin64.bak,从路径中删除C:\cygwin64\bin,并重新启动。

Windows2012框现在运行良好,运行(Unix)外壳脚本、$OSTYPE = msysuname = MSYS_NT-6.3 (指示Git正在运行)。

Windows 7框不会运行任何内容,并给出以下错误:

在工作区C:\User\Jenkins\ win7 \TEST中远程构建 C:\Users\jenkins\AppData\Local\Temp\hudson5047939025129374618.sh win7 $ sh -xe 系统找不到指定的文件。 致命:命令执行失败 java.io.IOException:无法运行程序"sh“(目录”C:\Users\Jenkins\工作区\TEST“):CreateProcess error=2,系统找不到指定的文件。 成本-成本-在java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)的比较

因此,我的问题是,如何配置Jenkins来使用C:\Program Files\Git\bin\sh.exe,或者如何配置C:\Program Files\Git\usr\bin\bash.exe来运行shell脚本?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-01-27 18:51:47

我已经想好了。Jenkins将简单地选择路径中的第一个sh.exe。Git在C:\Program Files\Git\usr\bin上有一个exe,所以如果将它添加到路径的开头,它将被Jenkins捕获。

在进行此更改后,必须重新启动奴隶与Jenkins的连接,否则路径将不会传播。如果您正在使用,只需关闭Java窗口并重新启动它。

票数 21
EN

Stack Overflow用户

发布于 2016-10-06 13:20:52

如果您只有Windows代理,并且它们都安装了Git for Windows,那么您可以在Jenkins系统配置中为所有代理设置shell可执行文件。

转到Manage Jenkins > Configure ,向下滚动到 shell ,并将Shell可执行文件设置为指向您希望从执行shell构建步骤开始的任何shell。

下面是一个如何设置与一起安装的shell的示例:

注意:如果您混合了Windows和非Windows代理(詹金斯-38211),这是行不通的。如果您有Windows,将sh.exe安装到不同的位置(例如使用这些平台的默认安装位置将32位和64位Windows混合在一起),这将导致类似的问题。仅当您的环境只包含配置相同的Windows节点时才使用此方法。

票数 11
EN

Stack Overflow用户

发布于 2020-08-28 12:42:24

安装git-bash

确保Git\bin文件夹(即: C:\Program \Git\bin)位于全局搜索路径中,以便Jenkins找到sh.exe

若要更新windows中的路径,请使用以下命令

setx路径"% path %;C:\Program \Git\bin“

或者看看这里,https://www.windows-commandline.com/set-path-command-line/

使Jenkins可以使用nohup

  • mklink“C:\ProgramFiles\Git\bin\nohup.exe”“C:\ProgramFiles\git\usr\bin\nohup.exe”
  • mklink "C:\Program \git\bin\msys-2.0.dll“"C:\Program \git\usr\bin\msys-2.0.dll”
  • mklink "C:\Program \git\bin\msys-iconv-2.dll“"C:\Program \git\usr\bin\msys-iconv-2.dll”
  • mklink "C:\Program \git\bin\msys-intl-8.dll“"C:\Program \git\usr\bin\msys-intl-8.dll”

现在您可以运行shell命令了

玩得开心

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35043665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档