【发布时间】:2017-02-09 22:08:44
【问题描述】:
我们正在将 Jenkins 管道移植到 Windows 环境中。
Jenkins 的 master 使用 Cygwin sshd 连接到我们的 Windows 远程 - 命名为 winremote-。
如this page 所述,节点的Remote root directory 以普通Windows 路径的形式给出(在这种情况下,它设置为C:\cygwin64\home\jenkins\jenkins-slave-dir)
这个最小的管道示例:
node("winremote")
{
echo "Entering Windows remote"
sh "ls -l"
}
因错误而失败:
[Pipeline] echo
Entering Windows rmeote
[Pipeline] sh
[C:\cygwin64\home\jenkins\jenkins-slave-dir\workspace\proto-platforms] Running shell script
sh: C:\cygwin64\home\jenkins\jenkins-slave-dir\workspace\proto-platforms@tmp\durable-a739272f\script.sh: command not found
通过 SSH 进入 Windows 远程,我可以看到 Jenkins 实际上在 C:\cygwin64\home\jenkins\jenkins-slave-dir 中创建了 workspace 子目录,但它是空的。
有没有已知的方法可以在这样的遥控器上使用sh 管道步骤?
【问题讨论】:
标签: jenkins cygwin jenkins-pipeline