6

我在项目中使用phing进行一些自动构建过程,并且想知道:如何通过电子邮件获取完整的日志?


当我phing通过命令行启动时,会显示构建日志;我会喜欢的 :

  • 通过电子邮件发送,
  • 给几个收件人,
  • 构建是成功还是失败
  • 理想情况下:带有邮件主题,告诉您构建是成功还是失败
  • 理想情况下:某种 HTML 邮件,带有格式、颜色……会很好

我虽然将输出管道phing传递给mail命令,但我想要一个适用于 Linux 和 Windows 的解决方案,并且不需要安装任何额外的软件......

有人有想法吗?


作为旁注:我考虑过添加某种“报告”目标,在构建结束时启动,但是:

  • 只有在所有先前的目标都没有失败时才会启动它
  • 我看不到如何获得完整的登录信息
4

5 回答 5

4

很好的主意; 刚刚添加了一张票来实现这个@ http://phing.info/trac/ticket/539

于 2010-09-02T10:15:51.690 回答
3

我想您可以编写一个自定义的 Phing 构建侦听器/记录器来处理您描述的用例。看看菲利普诺顿的这篇优秀的博客文章,让你开始。

于 2009-11-26T10:02:33.323 回答
0

假设您能够为您有权访问的 linux 服务器编写脚本,那么您无需安装其他软件就可以做到这一点。

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

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

于 2009-10-27T04:53:24.613 回答
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); 

工作正常。

于 2011-08-09T19:36:13.933 回答
-2

你看过PEAR 邮件包裹吗?

于 2009-11-24T04:49:12.617 回答