Jenkins:如何启用复杂的Jenkins电子邮件通知更改集设置

时间:2016-02-17 16:55:16

标签: git email jenkins

我无法为复杂的构建过程设置电子邮件通知。让我解释构建过程,看看是否有人有关于如何实现这一点的建议。

我有一个GIT存储库,它有多个应用程序可以内置到自己的二进制文件中。我知道最好将其分解,但考虑到项目的性质不是一种选择。

这样的事情:

-root
  -Apps
    -App 1
    -App 2 

**结果:** App1.bin,App2.bin等

多个团队为此存储库做出贡献。我有3个jenkins工作。

  1. 构建1个二进制文件(构建单个二进制文件以进行部署)
  2. 构建多个二进制文件(这是一个包装器,调用第一个可以构建多个二进制文件的作业)。
  3. 自动构建(此作业解析存储库中的更改集并调用构建多个二进制文件,并构建应用程序。原因是,如果发生SCM更改,我不会想要在存储库中再次构建所有应用程序。我只想构建更改的应用程序。)
  4. 我想做什么:

    我希望 Build 1二进制文件能够发送更改集的电子邮件通知,仅针对已构建的应用程序。

    示例电子邮件:

    Subject: App1 Successful build
    Changes: App1/app1.source, App1/app1.properties
    

    问题是因为自动构建从GIT更改中获取更改集,我现在没办法在构建作业中找到更改集。我在想的是解析变更集,并将它们传递给链。然后,我只需要解析单个文件更改,以发送单个二进制构建的通知。

    思想?

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式过滤构建输出,并使用email-ext插件仅在电子邮件中发送您想要的信息。

即:

$ {BUILD_LOG_REGEX,regex =“^ App1 /.*$”,linesBefore = 0,linesAfter = 0,maxMatches = 50,showTruncatedLines = false,escapeHtml = false}

这将被正则表达式匹配的行替换。