我的Jenkinsfile中的“蝙蝠”脚本由于没有明显的原因而失败。我已经通过在代理计算机上实际运行它进行了测试,因此现在我想通过脚本控制台在Jenkins下手动运行它。如何将该行转换为完全等效的控制台命令?
bat 'set \"ANDROID_HOME=%USERPROFILE%\\AppData\\Local\\Android\\Sdk\" && gradlew.bat assembleDebug'
我尝试了这个,没有运气,我可能没有正确地转义某些内容,也许cmd /c
命令的内引号太多了?
println "cmd \\c \"set \"ANDROID_HOME=%USERPROFILE%\\AppData\\Local\\Android\\Sdk\" && gradlew.bat assembleDebug\" ".execute().text
答案 0 :(得分:1)
cmd \c
应该为cmd /c
,并且您还可以像这样返回命令的输出:
"cmd /c \"set \"ANDROID_HOME=%USERPROFILE%\\AppData\\Local\\Android\\Sdk\" && gradlew.bat assembleDebug\"".execute().text
无论如何,脚本控制台只是确定管道步骤中的运行时问题的第一步,因为您仅了解命令本身是否有效。
接下来,您想在一个单独的管道中隔离问题,以便解决CPS和沙箱问题。好玩的东西。