【发布时间】:2020-02-01 13:27:06
【问题描述】:
我正在使用 Jenkins 运行我的 SoapUI 项目,但我在 jenkins 中为每个项目构建了单独的“执行 Windows 批处理命令”。例如,有 10 个不同的项目,我需要在一个作业中有 10 个“执行 Windows 批处理命令”。如何在一个“执行 windows 批处理命令”中组合 2 个或多个命令,以便我可以在一个作业中运行所有项目?
第一个项目:
"C:\Program Files\SmartBear\ReadyAPI-2.6.0\bin\testrunner.bat" -
sREG_Agreement_GetAgreementv1 -r -a -j -J -fC:\Project\ESB_RegressionReport "-
RJUnit-Style HTML Report" -FXML -EUAT
C:\Project\ESB_Regression_GitHub\SoapUIProjects\Agreement-GetAgreement-v1-
soapui-project.xml
第二个项目:
"C:\Program Files\SmartBear\ReadyAPI-2.6.0\bin\testrunner.bat" -
sREG_Capability_GetCapability_v2 -r -a -j -J -fC:\Project\ESB_RegressionReport
"-RJUnit-Style HTML Report" -FXML -EUAT
C:\Project\ESB_Regression_GitHub\SoapUIProjects\Capability_GetCapability_v2-
soapui-project.xml
所有命令都可以写在一个Execute Windows Batch Command中。
【问题讨论】:
-
在 Jenkins 的作业配置中输入的命令行是由运行在 Windows 上的 Jenkins 写入一个临时创建的批处理文件中,接下来由 Jenkins 启动的
cmd.exe处理。 Jenkins 启动后删除批处理文件cmd.exe自行终止。如果有多个命令行运行批处理文件,则必须使用命令call,即必须从 Jenkins 创建的批处理文件中调用该批处理文件。有关如何从批处理文件中运行另一个批处理文件的详细信息,请参阅this answer。