簡體   English   中英

phing:通過電子郵件發送完整的日志?

[英]phing : sending the full log by email?

我在項目中使用phing進行一些自動構建過程,並且想知道: 如何通過電子郵件獲取完整日志?


當我通過命令行啟動phing ,會顯示building-log; 我會喜歡的 :

  • 通過電子郵件發送,
  • 對幾個收件人,
  • 構建成功還是失敗
  • 理想情況下:使用郵件主題來判斷構建是成功還是失敗
  • 理想情況下:某種HTML郵件,格式化,顏色......會很好

我已經將phing的輸出用於mail命令,但我想要一個適用於Linux和Windows的解決方案,並且不需要安裝任何其他軟件......

有沒有人有想法?


作為旁注:我考慮過在構建結束時添加某種“報告”目標,但是:

  • 僅當所有先前的目標都沒有失敗時才會啟動它
  • 我不知道如何獲得完整的日志

很好的主意; 剛剛添加了一張票來實現這個@ http://phing.info/trac/ticket/539

我想你可以編寫一個自定義的Phing構建監聽器/記錄器來處理你描述的用例。 看看菲利普諾頓的這篇優秀博客文章 ,讓你前進。

假設您能夠為您有權訪問的Linux服務器編寫腳本,則可以在不安裝其他軟件的情況下執行此操作。

讓php腳本使用exec()或system()命令來獲取完整日志。 使用curl將此作為http post數據發送到您可以訪問的Linux服務器上的遠程腳本。

在服務器上,您有權編寫腳本以接受http post變量並將內容郵寄到您的電子郵件地址。 而且你可能會想“哦,不,我可以通過電子郵件向我發送電子郵件!” 如果他們知道您的地址,或者您有一個網絡聯系表格......同樣的交易。 這是一個解決方案;)如果安全問題是通過https發送的。

我們用...... 像這樣包裹在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); 

工作良好。

你看過PEAR郵件包嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM