Jenkins:如果Clang分析器发现新的错误,如何将构建标记为不稳定

3
我已在Mac服务器上设置了Jenkins CI,使用Xcode Build和Clang Scan-Build插件对iOS项目进行自动构建/分析。我已经设置了电子邮件通知,以便使用可编辑电子邮件通知插件通知用户是否破坏了构建。然而,如果Clang Scan-Build阶段检测到自上次提交以来的新错误,我还想通过电子邮件通知用户,这引出了我的问题:如果引入了新错误,clang插件如何将构建标记为不稳定/失败?(我希望通知用户自上次提交以来是否引入了新错误,而不仅仅是超过了阈值)。
我相信这是可能的,因为clang插件已经提供了先前构建中clang错误计数结果的图表。
感谢您的帮助。
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]

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

谢谢!添加编译器警告插件使我能够扫描警告并在引入新警告时标记为不稳定。 - A Random User

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接