dee*_*ide 2 windows jenkins devops jenkins-pipeline
我正在尝试运行jenkins工作区中存在的批处理脚本。我写了一个如下所示的常规脚本
stage('batchscript') {
steps{
bat 'start cmd.exe /c C:\\Program Files (x86)\\Jenkins\\workspace\\jenkins Project\\batchfile.bat'\
}
}
Run Code Online (Sandbox Code Playgroud)
当我构建作业时,应该打开一个新的命令窗口,并在执行所有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()
}
Run Code Online (Sandbox Code Playgroud)
这是一个高级示例:
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 ..."
}
Run Code Online (Sandbox Code Playgroud)
例:
如果您需要使用jenkins执行批处理文件:
stage('build') {
dir("build_folder"){
bat "run_build_windows.bat"
}
}
Run Code Online (Sandbox Code Playgroud)
要么
stage('build') {
bat "c://some/folder/run_build_windows.bat"
}
Run Code Online (Sandbox Code Playgroud)
Windows路径有些奇怪:无论如何,Linux是托管jenkins的最佳选择。
| 归档时间: |
|
| 查看次数: |
6829 次 |
| 最近记录: |