当 "Exec command" 使用 "cmd /c" 时 Jenkins 挂起
Jenkins hangs when "Exec command" uses "cmd /c"
我正在使用 Jenkins 创建构建过程。在步骤的 "Build" 部分,我创建了一个 "Send files or execute commands over SSH" 块来从 environment.yml 文件构建 conda 环境。为此,我尝试在 "Exec command" 字段中使用命令。但是,每当我输入像 cmd /c "my command here"
这样的命令时,进程就会永远挂起(或者至少直到它超时)。我什至尝试了 cmd /c "exit"
,它应该只打开一个终端并立即退出,而且它也会永远挂起。任何人都有这方面的经验并且可以帮助我弄清楚如何构建我的命令以使其不会挂起?
编辑
This Jenkins issue 建议它 可能 与退出状态文件有关。
不确定这是否有帮助。
事实证明,高级部分中有一个我不知道的选项被检查导致了问题。在 "Send files or execute commands over SSH" / "SSH Publisher" / "Transfers" / "Advanced..." 中,我选中了 "Exec in pty" 复选框,它试图在伪 tty 中执行命令而不是 Windows 命令终端如我所料。
我正在使用 Jenkins 创建构建过程。在步骤的 "Build" 部分,我创建了一个 "Send files or execute commands over SSH" 块来从 environment.yml 文件构建 conda 环境。为此,我尝试在 "Exec command" 字段中使用命令。但是,每当我输入像 cmd /c "my command here"
这样的命令时,进程就会永远挂起(或者至少直到它超时)。我什至尝试了 cmd /c "exit"
,它应该只打开一个终端并立即退出,而且它也会永远挂起。任何人都有这方面的经验并且可以帮助我弄清楚如何构建我的命令以使其不会挂起?
编辑
This Jenkins issue 建议它 可能 与退出状态文件有关。
不确定这是否有帮助。
事实证明,高级部分中有一个我不知道的选项被检查导致了问题。在 "Send files or execute commands over SSH" / "SSH Publisher" / "Transfers" / "Advanced..." 中,我选中了 "Exec in pty" 复选框,它试图在伪 tty 中执行命令而不是 Windows 命令终端如我所料。