首页 文章

Jenkins管道在Windows上无法运行“无法运行程序nohup”

提问于
浏览
12

我有Windows 10,我想在Jenkins管道中使用bash为Ubuntu for windows执行Jen命令中的sh命令,但它不起作用

我的Jenkins管道中有以下阶段:

stage('sh how to') {
        steps {
            sh 'ls -l'
        }
    }

错误消息是:

[C:\ Program Files(x86)\ Jenkins \ workspace \ pipelineascode]运行shell脚本无法运行程序“nohup”(在目录“C:\ Program Files(x86)\ Jenkins \ workspace \ pipelineascode”中):CreateProcess error = 2,Lefichierspécifiéestintrouvable

我尝试用更改Jenkins参数 - > shell可执行文件

C:\ Windows \ System32 \ bash.exe

但同样的错误......

如何使用Windows 10的bash运行sh脚本?

4 回答

  • 0

    从非常快速的搜索,您的错误看起来与以下问题有关:JENKINS-33708

    主要原因看起来像Windows上不支持 sh 步骤 . 例如,您可以使用 bat 或安装 Cygwin .

    然而,在前一个链接中提出了两种解决方案,建议您执行以下步骤:

    • 安装git-bash

    • 确保Git \ bin文件夹(即: C:\Program Files\Git\bin )在全局搜索路径中,以便Jenkins找到sh.exe

    • 为Jenkins提供nohup,在git-bash中执行以下操作(相应地调整路径):

    • mklink“C:\ Program Files \ Git \ bin \ nohup.exe " " C:\ Program Files \ git \ usr \ bin \ nohup.exe”

    • mklink“C:\ Program Files \ Git \ bin \ msys-2.0.dll " " C:\ Program Files \ git \ usr \ bin \ msys-2.0.dll”

    • mklink“C:\ Program Files \ Git \ bin \ msys-iconv-2.dll " " C:\ Program Files \ git \ usr \ bin \ msys-iconv-2.dll”

    • mklink“C:\ Program Files \ Git \ bin \ msys-intl-8.dll " " C:\ Program Files \ git \ usr \ bin \ msys-intl-8.dll”

    根据您的安装,您可能必须使用以下路径:

    • mklink“C:\ Program Files \ Git \ cmd \ nohup.exe " " C:\ Program Files \ git \ usr \ bin \ nohup.exe”

    • mklink“C:\ Program Files \ Git \ cmd \ msys-2.0.dll " " C:\ Program Files \ git \ usr \ bin \ msys-2.0.dll”

    • mklink“C:\ Program Files \ Git \ cmd \ msys-iconv-2.dll " " C:\ Program Files \ git \ usr \ bin \ msys-iconv-2.dll”

    • mklink“C:\ Program Files \ Git \ cmd \ msys-intl-8.dll " " C:\ Program Files \ git \ usr \ bin \ msys-intl-8.dll”

  • 0

    使用Git for Windows 2.16.2,我能够将C:\ Program Files \ Git \ usr \ bin添加到PATH(而不是C:\ Program Files \ Git \ bin),因此我的sh命令在FreeStyle和管道构建 . 没有mklink是必要的 . (Source

  • 18

    切换到bat为我工作 - 我在Windows上运行Jenkins . 但只有在我解决了由于我没有在Jenkins中正确配置我的工具(maven和JDK)这一事实导致的问题之后 .

  • 1

    使用Git for Windows,我不得不将 C:\Program Files\Git\bin 添加到Jenkins中从属节点的 PATH 环境变量(以访问 sh ),然后将 C:\Program Files\Git\usr\bin 添加到Windows从属本地的 PATH (以访问 nohup ) .

相关问题