【问题标题】:Jenkins, console output, parse, logJenkins,控制台输出,解析,日志
【发布时间】:2017-11-30 20:39:37
【问题描述】:

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

【问题讨论】:

    标签: logging jenkins console continuous-integration


    【解决方案1】:

    我认为您应该使用不同的方法来解决日志,而不是尝试解析日志。我相信 Jenkins (JUnit) 将测试结果存储为人工制品。我确信有一个插件可以让 Jenkins 在失败时以 HTML 格式将测试结果邮寄给你——事实上我几乎可以肯定 Jenkins 可以开箱即用地做到这一点。

    【讨论】:

      【解决方案2】:

      您可以尝试下载日志,而不是使用 jenkins 插件(使用 .../path/to/build/consoleText 而不是 .../path/to/build/console 来删除时间戳和其他内容)。您可以使用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 中运行的 groovy 脚本时,您会得到一个名为 “构建”运行。我们用它来获取 http://javadoc.jenkins.io/archive/jenkins-1.651/hudson/model/Build.html 对于上游作业,然后调用此作业的 .getLogFile()。

      增加奖金;因为它只是一个 File 对象,我们调用 .getParent() 来 获取 Jenkins 存储构建附属文件的文件夹(如测试 xmls, 环境变量,以及其他可能没有明确说明的东西 通过工件暴露)我们也可以解析。

      双倍加分;我们还使用矩阵作业。这有时会使 推断系统上的文件路径很痛苦。 .getLogFile().getParent() 带走了所有的痛苦。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-20
        • 2019-10-06
        • 2017-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多