3

我已经在 mac 服务器上设置了 Jenkins CI,使用 Xcode Build 和 Clang Scan-Build 插件对 iOS 项目进行自动构建/分析。我设置了电子邮件通知,以在用户使用可编辑电子邮件通知插件破坏构建时通知他们。但是,如果 Clang Scan-Build 阶段检测到自上次提交以来的新错误,我也想给用户发送电子邮件,这导致我的问题:如果新错误有,我如何让 clang 插件将构建标记为不稳定/失败被介绍了?(如果自上次提交以来引入了新错误,我想通知用户,而不仅仅是超过阈值。)

我很确定这是可能的,因为 clang 插件已经提供了以前构建的 clang 错误计数结果的图表。

在此先感谢您的帮助。

4

1 回答 1

2

不确定这是否正是您正在寻找的,但我使用编译器警告插件来趋势我的 CLANG-LLVM 编译器警告。这必须在 Jenkins 系统级别定义(仍然是 GUI,但不是每个项目):

Name: CLANG-LLVM
Link Name: Compiler Warnings
Trend Report Name: Warning trend
Regular Expression: ^(.+?):(\d+):(?:\d+:)?(?:\{\d:-\}+)?(?:.*) (warning|error): (.*)$
Mapping Script:
    import hudson.plugins.warnings.parser.Warning
    String fileName = matcher.group(1)
    String lineNumber = matcher.group(2)
    String category = matcher.group(3)
    String message = matcher.group(4)
    if (message.contains('deprecated')) category='deprecation';

    return new Warning(fileName, Integer.parseInt(lineNumber), "Clang-LLVM", category, message);

Example Log Message:
    /Development/foo.m:4634:7: warning: 'runModalForDirectory:file:' is deprecated [-Wdeprecated-declarations,6]

然后我们在控制台日志的构建后扫描中运行它。并且,在Advanced...警告部分,您可以告诉它如何解释“健康警告”和状态设置。

于 2013-06-18T19:18:50.300 回答