Batch file Jenkins-cmd未被识别
环境:Batch file Jenkins-cmd未被识别,batch-file,jenkins,jenkins-pipeline,Batch File,Jenkins,Jenkins Pipeline,环境: 主Linux Jenkins服务器 两个Windows从节点 windows从属服务器作为服务运行 第一次测试 我创建了一个管道,并在构建部分使用“执行Windows批处理命令” 在命令框中,我输入了“C:\Jenkins\mytest.bat” 我选中了“限制此项目可以运行的位置”复选框,并写下Windows从属服务器的名称 我建造了管道,并且成功 第二次测试 我创建了一个声明性管道,如下所示: pipeline { agent { label 'SiebelWi
- 主Linux Jenkins服务器
- 两个Windows从节点
- windows从属服务器作为服务运行
- 我创建了一个管道,并在构建部分使用“执行Windows批处理命令”
- 在命令框中,我输入了“C:\Jenkins\mytest.bat”
- 我选中了“限制此项目可以运行的位置”复选框,并写下Windows从属服务器的名称
- 我建造了管道,并且成功
- 我创建了一个声明性管道,如下所示:
pipeline { agent { label 'SiebelWindows' } stages { stage('Test Bat') { steps { bat 'C:\\Jenkins\\mytest.bat' //bat 'start cmd.exe /c C:\\Jenkins\\mytest.bat' //call C:\\Jenkins\\mytest.bat } } } }
- 在这种情况下,生成失败,错误为“cmd未被识别为内部或外部命令”
environment {
PATH = "C:\\WINDOWS\\SYSTEM32"
}
@JustapProgrammer问我C:\WINDOWS\SYSTEM32是否在我的WINDOWS机器的路径中,这是正确的,但Jenkins master似乎不知道从机的WINDOWS路径
我解决了我的问题,但我仍在寻找一个完整的解决方案,我需要用所有路径设置PATH环境变量,不仅C:\WINDOWS\SYSTEM32是
mytest.bat
可执行文件?如果运行第二个命令会发生什么:bat'start cmd.exe/C:\\Jenkins\\mytest.bat'
?您好。。。文件mytest.bat是一个windows批处理文件,第二个命令的结果相同,“cmd不是一个可识别的内部或外部命令”是的,在%PATH%变量中有C:\windows\system32。如果我以“执行Windows批处理命令”的方式运行,我不知道为什么可以正常工作,但当我创建一个管道时,代码(声明性)就不起作用了。它是相同的服务器,相同的命令