Jenkins Timeout因为脚本执行过长

Ros*_*sch 6 powershell performance jenkins

我有一些关于Jenkins和运行Powershell脚本的问题.长话短说:脚本需要8倍的执行时间,然后在服务器(Slave)上手动运行(只需几分钟).我想知道为什么?

在脚本中有调用&msbuild.exe或&svn commit等命令的函数.我发现脚本在执行之前的那些行中挂起.结果是,Jenkins因为脚本需要很长时间而超时.我可以改变Jenkins作业配置中的超时阈值,但我不认为这是问题的解决方案没有错误输出或任何信息为什么需要那么长时间,我没有任何进一步的想法.也许你们其中一个人可以告诉我,Jenkins如何调用这些命令.

这就是Jenkins所做的(Windows批处理插件):

powershell -File %WORKSPACE%\ScriptHead\DeployOrRelease.ps1
Run Code Online (Sandbox Code Playgroud)

eko*_*nov 0

在我发现 Jenkins 支持它自己的此类插件之前,我已经创建了自己的 Powershell CI 服务。但在我的实现和当前的工作配置中,我们遵循样本隔离原则规则:越多越好。我发现我的 CI 服务在分为不同步骤时效果更好(而且在出现错误的情况下也很容易进行根本原因分析)。单一责任原则在这里也很有帮助。就像在 Jenkins 中一样,我们将前、后、构建和电子邮件步骤作为单独的脚本。关于

msbuild.exe

据我记得,在我的例子中,存在与文件系统路径中的操作相关的问题。因此,当脚本被划分/分离到不同的函数中时,我们有更好的性能(额外的参数检查)。