Jenkins Pipeline:如何在后台 运行 批处理脚本? [企业领域]
Jenkins Pipeline: How to run batch scripts in the background? [Corporate Domain]
我有一个用 Jenkins 脚本化流水线编写的简单批处理脚本,它使用自己的参数执行 .exe 文件,但要以所需方式 运行 它,需要管理员权限。一旦存在管理员权限,我的批处理脚本就不会将任何输出传送到 Jenkins 的控制台。有没有办法强制 Jenkins 在后台 运行 批处理脚本?
当从没有管理员权限的文件夹中 运行ning 时,批处理脚本的输出和脚本本身 运行ning 在后台,我得到了我需要的所有控制台输出。然而,一些 .exe 文件(一些测试)会失败,甚至不会启动(即那些必须与我的 iOS 测试设备通信的文件)
从具有管理员权限的文件夹中 运行ning 后,我所有的批处理脚本都 运行ning 顺利,但在单独的 cmd window 中,我没有得到任何输出到 Jenkins 的控制台。
stage('Build'){
bat "[path_to_msbuild]\msbuild.exe .\[path_to_solution]\Test.sln"
}
stage('Start'){
bat "[path_to_built_exe]\Test.exe /rc:TestRun /rf:[path_to_html_report]\report.html /ju /zr /zrf:[path_to_rxzlog_report]\report.rxzlog"
}
预期结果:批处理脚本的输出在任何情况下都会返回到 Jenkins 的控制台。
原来是管理员权限问题。我们公司有严格的访问政策,java 进程 (Jenkins) 运行 没有管理员权限。
我有一个用 Jenkins 脚本化流水线编写的简单批处理脚本,它使用自己的参数执行 .exe 文件,但要以所需方式 运行 它,需要管理员权限。一旦存在管理员权限,我的批处理脚本就不会将任何输出传送到 Jenkins 的控制台。有没有办法强制 Jenkins 在后台 运行 批处理脚本?
当从没有管理员权限的文件夹中 运行ning 时,批处理脚本的输出和脚本本身 运行ning 在后台,我得到了我需要的所有控制台输出。然而,一些 .exe 文件(一些测试)会失败,甚至不会启动(即那些必须与我的 iOS 测试设备通信的文件)
从具有管理员权限的文件夹中 运行ning 后,我所有的批处理脚本都 运行ning 顺利,但在单独的 cmd window 中,我没有得到任何输出到 Jenkins 的控制台。
stage('Build'){
bat "[path_to_msbuild]\msbuild.exe .\[path_to_solution]\Test.sln"
}
stage('Start'){
bat "[path_to_built_exe]\Test.exe /rc:TestRun /rf:[path_to_html_report]\report.html /ju /zr /zrf:[path_to_rxzlog_report]\report.rxzlog"
}
预期结果:批处理脚本的输出在任何情况下都会返回到 Jenkins 的控制台。
原来是管理员权限问题。我们公司有严格的访问政策,java 进程 (Jenkins) 运行 没有管理员权限。