jenkins中的windows批处理命令失败

jenkins中的windows批处理命令失败,jenkins,cmd,Jenkins,Cmd,我已经在Docker中安装了Jenkins,并且能够运行一些ANT脚本,现在我必须运行一些“windows批处理脚本”。我给出了一个基本命令echo“Hello”,但我得到了以下错误。。。我相信它期待cmd.exe出现在我的工作空间???有人能帮我解决这个问题吗?提前谢谢 [CI] $ cmd /c call /tmp/hudson5615964182226568321.bat FATAL: command execution failed java.io.IOException: Cannot

我已经在Docker中安装了Jenkins,并且能够运行一些ANT脚本,现在我必须运行一些“windows批处理脚本”。我给出了一个基本命令echo“Hello”,但我得到了以下错误。。。我相信它期待cmd.exe出现在我的工作空间???有人能帮我解决这个问题吗?提前谢谢

[CI] $ cmd /c call /tmp/hudson5615964182226568321.bat
FATAL: command execution failed
java.io.IOException: Cannot run program "cmd" (in directory "/var/jenkins_home/workspace/CI"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at hudson.Proc$LocalProc.<init>(Proc.java:243)
at hudson.Proc$LocalProc.<init>(Proc.java:212)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:815)
at hudson.Launcher$ProcStarter.start(Launcher.java:381)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:95)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:64)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
at hudson.model.Build$BuildExecution.build(Build.java:205)
at hudson.model.Build$BuildExecution.doRun(Build.java:162)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)
at hudson.model.Run.execute(Run.java:1720)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:404)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
[CI]$cmd/c call/tmp/hudson5615964182226568321.bat
致命:命令执行失败
java.io.IOException:无法运行程序“cmd”(在目录“/var/jenkins_home/workspace/CI”):错误=2,没有这样的文件或目录
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
在hudson.Proc$LocalProc.(Proc.java:243)
在hudson.Proc$LocalProc.(Proc.java:212)
位于hudson.Launcher$LocalLauncher.launch(Launcher.java:815)
位于hudson.Launcher$ProcStarter.start(Launcher.java:381)
在hudson.tasks.commandexplorer.perform(commandexplorer.java:95)
在hudson.tasks.commandexplorer.perform(commandexplorer.java:64)
在hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
位于hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
位于hudson.model.Build$BuildExecution.Build(Build.java:205)
位于hudson.model.Build$BuildExecution.doRun(Build.java:162)
位于hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)
在hudson.model.Run.execute(Run.java:1720)
运行(FreeStyleBuild.java:43)
在hudson.model.ResourceController.execute(ResourceController.java:98)
运行(Executor.java:404)
原因:java.io.IOException:error=2,没有这样的文件或目录
位于java.lang.UNIXProcess.forkAndExec(本机方法)
位于java.lang.UNIXProcess(UNIXProcess.java:247)
在java.lang.ProcessImpl.start(ProcessImpl.java:134)处
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
。。。还有15个 生成步骤“执行Windows批处理命令”将生成标记为失败
已完成:失败

您的Jenkins安装程序必须在Linux中,当您选择“Windows批处理命令”时,该命令在Linux系统中不起作用。 因此,系统向您描述cmd不能在Unix机器中执行

Cannot run program "cmd" (in directory "/var/jenkins_home/workspace/CI"): error=2, No such file or directory

在我的例子中,因为jenkins是在VM上运行的,VM在Windows中提供基于Linux的系统。我们无法执行Windows批处理命令,因为jenkins正在基于Linux的VM上运行

所以我们必须运行shell脚本。
只需选择Execute Shell而不是Execute Windows Batch命令

我知道了,Shell运行正常。谢谢你的帮助我正在使用dotnet publish命令,它给我错误dotnet not found。有什么提示吗?