我正在尝试运行詹金斯工作区中存在的批处理脚本。我写了一个如下所示的常规脚本
stage('batchscript') { steps{ bat 'start cmd.exe /c C:\\Program Files (x86)\\Jenkins\\workspace\\jenkins Project\\batchfile.bat'\ } }
当我构建作业时,应该打开一个新的命令窗口,并在执行所有bat命令的新命令提示符下运行批处理文件。构建成功,但是没有打开任何命令窗口。任何建议都会有帮助
Jenkins旨在在 后台 模式下执行shell命令,而不是在 交互 模式下执行。
如果您需要使用jenkins执行简单的批处理命令:
stage('build') { cmd_exec('echo "Buils starting..."') cmd_exec('echo "dir /a /b"') } def cmd_exec(command) { return bat(returnStdout: true, script: "${command}").trim() }
这是一个高级示例:
steps { echo 'Deploy to staging environment' // Launch tomcat bat """ cd c:\\qa\\bin dir /a /b startup """ bat """ cd c:\\qa\\bin startup """ // Code to move WAR to Tomcat bat "xcopy /y c:\\webapp\\target\\webapp.war ..." bat "xcopy /y c:\\webapp\\target\\webapp.war ..." }
例:
如果您需要使用jenkins执行批处理文件:
stage('build') { dir("build_folder"){ bat "run_build_windows.bat" } }
要么
stage('build') { bat "c://some/folder/run_build_windows.bat" }
Windows路径有些奇怪:无论如何,Linux是托管jenkins的最佳选择。