Jenkins,控制台输出,解析,日志

时间:2017-11-30 20:39:37

标签: logging jenkins console continuous-integration

社会!我需要你的帮助。我是QE,我需要解决一个问题,发生在我身上的事情。我需要找到方法,如何通过一些测试(总计和失败)解析控制台输出,并把它放在我的电子邮件的主题上。我试过log parser,不适合我,或者我不知道如何使用它

2 个答案:

答案 0 :(得分:0)

我认为你不应该尝试解析日志,而应该采用不同的方法。我相信Jenkins(JUnit)将测试结果存储为人工制品。我确信有一个插件会让Jenkins在失败时以HTML格式向你发送测试结果 - 实际上我几乎可以肯定Jenkins可以开箱即用。

答案 1 :(得分:0)

您可以尝试下载日志(使用.../path/to/build/consoleText代替.../path/to/build/console来删除时间戳和其他内容),而不是使用jenkins插件。您可以使用cURL(或wget for linux)将其作为txt文件下载并像解析任何其他纯文本一样进行解析。

如果您不想下载它,并且您可以访问master上的内容,请参阅this SO answer

  

Jenkins将控制台日志存储在master上。如果你想要程序化   访问日志,你在master上运行,你可以访问   Jenkins已经拥有的日志,而不是将其复制到工件或   必须获取http作业URL。

     

从   http://javadoc.jenkins.io/archive/jenkins-1.651/hudson/model/Run.html#getLogFile(),   这将返回控制台输出的File对象(在jenkins中)   文件系统,这是" log"文件在构建输出目录中。)

     

就我而言,我们使用链式(子)作业来进行解析和分析   父母的工作。

     

使用在Jenkins中运行的groovy脚本时,会得到一个名为的对象   "建立"为了奔跑。我们用它来获得   http://javadoc.jenkins.io/archive/jenkins-1.651/hudson/model/Build.html   对于上游作业,然后调用此作业的.getLogFile()。

     

添加奖金;因为它只是一个File对象,所以我们调用.getParent()   获取Jenkins存储构建抵押品的文件夹(如test xmls,   环境变量,以及其他可能未明确的事情   通过工件暴露出来,我们也可以解析。

     

双倍加成奖金;我们也使用矩阵作业。这有时会使   推断系统上的文件路径是一种痛苦。   .getLogFile()。getParent()消除了所有的痛苦。