当前位置:  开发笔记 > 运维 > 正文

Jenkins Pipeline无法在Windows从站中执行SH命令文件

如何解决《JenkinsPipeline无法在Windows从站中执行SH命令文件》经验,为你挑选了1个好方法。

我正在执行这段代码:

node('my_windows_slave') {
   sh 'ls'
}

在我的Windows奴隶中,我可以正确执行sh命令:

在此输入图像描述

但是管道脚本无法运行该.sh文件:

[Pipeline] sh
[D:\workspace\sandbox_pipeline] Running shell script
sh: D:\workspace\sandbox_pipeline@tmp\durable-2d7dd2f8\script.sh: command not found

我能注意到的是,这个.sh文件甚至没有被创建,一旦我尝试bat并且被罚款.

有什么线索可能是什么问题?

[UPDATE]

詹金斯不知何故无法创建SH临时文件.已经检查了日志,权限,以及我想到的一切.



1> Marcelo Filh..:

我会在批准之前留下我的解决方案作为答案,一旦我仍然不能100%确定根本原因并且可能有其他人出现了优雅的解决方案......

def shell(command) {
    return bat(returnStdout: true, script: "sh -x -c \"${command}\"").trim()
}

注意

你仍然SH在a中执行命令CMD,这意味着一些%d例如可以破坏你的SH命令.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有