如何从Jenkinsfile转换“ bat”指令以在脚本控制台中执行?

时间:2018-12-10 09:29:27

标签: jenkins jenkins-pipeline

我的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

1 个答案:

答案 0 :(得分:1)

cmd \c应该为cmd /c,并且您还可以像这样返回命令的输出:

"cmd /c \"set \"ANDROID_HOME=%USERPROFILE%\\AppData\\Local\\Android\\Sdk\" && gradlew.bat assembleDebug\"".execute().text

无论如何,脚本控制台只是确定管道步骤中的运行时问题的第一步,因为您仅了解命令本身是否有效。

接下来,您想在一个单独的管道中隔离问题,以便解决CPS和沙箱问题。好玩的东西。