Phing:如何通过电子邮件发送完整日志?

6
我正在项目中使用 phing 进行自动构建流程,并想知道:如何通过电子邮件获取完整的日志?
当我通过命令行启动 phing 时,构建日志会显示出来;我希望:
  • 将其通过电子邮件发送给多个收件人,
  • 不论构建成功或失败,
  • 最好是:邮件主题可以告诉我们构建是否成功或失败,
  • 最好是:一种带有格式、颜色等的 HTML 邮件。
我考虑过将 phing 的输出导入到 mail 命令中,但我希望找到既适用于 Linux 又适用于 Windows 的解决方案,且不需要安装任何额外的软件...
有没有人有什么好的想法?
另外:我考虑在构建结束时添加一些“报告”目标,但是:
  • 只有在所有之前的目标都没有失败时才会启动它,
  • 我不知道如何在其中获取完整的日志。
5个回答

4

1
嗨,很高兴在这里见到你 ^^ ;; 我完全忘记了这个问题,因为我需要它来完成项目。但是,我仍然相信这将来某一天对某人很有用 ;-) - Pascal MARTIN

3

我猜你可以编写一个自定义的Phing构建监听器/日志记录器来处理你描述的用例。看一下Philip Norton的这篇博客文章,它会帮助你入门。


感谢您的回答!现在有点晚了(我正在进行的项目已经完成^^),但是我可能会尝试一天或另一天,只是想知道如何让它工作;-) - Pascal MARTIN

0
我们在 PHP 脚本中使用类似这样的东西。
exec('phing' . $target . ' -f ' . $buildfile . ' | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"', $out); //remove bash color
$info = implode("\n", $out);
$subj = sprintf('Deployed %s', $catalogInfo['name']);
mail($data->email, $subj, $info); 

运行正常。


0

如果您能够编写一个适用于您可以访问的Linux服务器的脚本,那么您可以在不安装其他软件的情况下完成此操作。

使用exec()或system()命令让php脚本获取完整日志。使用curl将其作为http post数据发送到您可以访问的Linux服务器上的远程脚本。

在您可以访问的服务器上编写一个脚本来接受http post变量并将内容发送到您的电子邮件地址。您可能会想:“哦,不,我可以被人随意发送电子邮件!” 如果他们知道您的地址或者您有一个网页联系表单...同样的问题。所以这是一个解决方案;如果安全是一个问题,请通过https发送。


这个有用吗?如果不行的话我可以删除。 - user192230

-2

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