0

我将刹车人 rake 任务设置为通过 Jenkins 自动运行,但是由于我已经解决了它发现的初始安全漏洞,因此刹车人现在 99% 的时间都可以正常运行。我不想每次都打开报告才能看到没有问题。我希望它(Jenkins、Brakeman 或其他自定义)在发现新漏洞时通过电子邮件(或其他方式)通知我。

谁能想到这样做的方法?

4

2 回答 2

3

这里有两个选项:

  • -z使用or运行 Brakeman rake brakeman:check(您可能必须将当前的 Rake 任务替换brakeman --rake为添加此选项)如果发现任何警告,它将返回非零退出代码。这应该会使您的构建失败。在 Jenkins 中,将“电子邮件通知”添加为“构建后操作”以向您发送电子邮件。

  • 使用Brakeman Jenkins 插件。您将需要更改 Brakeman 的运行方式,如此处所述。然后使用插件的“高级...”选项设置阈值以将构建标记为不稳定或构建失败。设置完成后,将“电子邮件通知”添加为“构建后操作”以向您发送电子邮件。

[不推荐使用 Rake 运行 Brakeman,因为它会不必要地加载整个应用程序。]

于 2015-12-22T17:09:31.300 回答
0

如果发现任何问题,我最终增强了制动器:运行任务以发送电子邮件:

namespace :brakeman do

desc "Run Brakeman"
task :run, :emails do |t, args|
  require 'brakeman'

  file = ["tmp/brakeman_reports/brakeman_on_#{Date.today.to_s}.html"]

  result = Brakeman.run :app_path => ".", :output_files => file, :print_report => true

  unless result.filtered_warnings.empty?
    BrakemanReportMailer.notify(args[:emails]).deliver
  end

结束结束

于 2015-12-22T22:48:01.353 回答