阻止 Jenkins 在 Windows 上转换路径

阻止 Jenkins 在 Windows 上转换路径

我正尝试将 Windows 8.1 计算机作为“哑从属”运行。我使用 Cygwin 和 SSHD 来提供一个工作环境,当我通过 SSH 连接到此计算机时,该环境可以很好地运行。但是,我遇到了 Jenkins 试图做太多事情的问题。当 Jenkins 连接到这台 Windows 计算机时,它会正确地将其识别为运行 Windows 8.1。它可以做到这一点很棒,但不幸的是,它决定将路径从 UNIX 样式转换为 Windows 样式,而无需提示或给我选项。

因此,我正在处理两个问题:

  1. Jenkins 从我的 SVN 存储库检出到 Windows 主机上的错误位置。
  2. Jenkins 无法启动以适当的 shebang '#!/usr/bin/bash' 开头的 shell 脚本

结帐问题开始时很无辜。当我检查控制台输出时,我看到:

Building remotely on Geidi_Prime in workspace /home/daeden/issm/jenkins/workspace/Win8/label/Geidi_Prime

这是正确的路径,如果 Jenkins 确实签出到此路径,我会非常高兴。但是,我看到:

Checking out a fresh workspace because there's no workspace at C:\home\daeden\issm\jenkins\workspace\Win8\label\Geidi_Prime

这几乎是一条可笑的错误路径。这不仅是前一条路径的错误翻译,而且也是不必要的和不受欢迎的翻译。

我的第二个问题是由相同的不必要的地址转换引起的,并导致以下输出:

[Geidi_Prime] $ /usr/bin/bash C:\Users\daeden\hudson5172208145209834785.sh
The system cannot find the file specified
FATAL: command execution failed

如果只是将相关脚本放置在正确的位置

/home/daeden/hudson5172208145209834785.sh

我相信这会很有效。有人知道如何阻止 Jenkins 的这种行为,或者如何欺骗 Jenkins 认为这不是 Windows 机器吗?

相关内容