问题描述
Jenkins节点是Windows代理,已安装Git Bash。
我需要在已经设置为git文件夹的工作空间文件夹中执行git命令。由于git命令的简单性(例如'git branch'),我们不想创建一个完整的.sh文件,而是选择内联shell命令,如下所示。
//.groovy
dir ("c:/workspace/project@script/git-folder") {
def git_cmd = sh(script: "git branch",returnStdout: true).trim()
}
上面的代码适用于我们的其他Linux节点。但是,在此Windows节点上,Jenkins返回了Shell脚本错误“ c:/workspace/project@script/git-folder@tmp/durable-8xxxxx/script.sh:第1行:git:命令未找到”
为什么创建@tmp文件夹并在其中执行脚本而不是在预期的文件夹中执行脚本?我检查了代理,看起来“ git-folder”和“ git-folder @ tmp”都在c:/ workspace /中相邻
我试图删除“ dir”命令,然后将其cd插入脚本中的路径,如下所示:
def git_cmd = sh(script: "cd c:/workspace/project@script/git-folder; git branch",returnStdout: true).trim()
但现在错误为“ c:/workspace/project@2@tmp/durable-6xxxxx/script.sh:第1行:git:未找到命令”
找到了一个与我的问题非常相似的Jenkins issue thread,但是没有一个明确的解决方案。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)