我正在尝试为使用 SCons 编写的构建提出一些明智的解决方案,它依赖于相当多的应用程序以类似 Unix 的方式访问,使用类似 Unix 的路径等。但是,当我尝试要在 Jenkins 中使用 SCons 插件或 Git 插件,它会尝试使用类似的东西调用插件cmd /c git.exe
- 这肯定会失败,因为 Git 是使用 Cygwin 安装的,并且仅在 Cygwin shell 中知道,但在 CMD 中不知道。但是,即使我可以让 git 和其余部分对 cmd.exe 可用,也会出现其他问题:Git 的 Cygwin 版本希望路径具有正斜杠并将反斜杠视为转义字符。愚蠢的 Windows 文件系统相关问题也会出现(我不能授予 Jenkins 删除我自己的文件的权限!)。
那么,有没有办法让 Jenkins 只使用 Cygwin shell,而不使用 cmd.exe?或者我应该准备在虚拟机中运行一些 Linux 来处理这个问题吗?