2009-09-12 31 views
6

Używam phing do automatycznego procesu budowy na projekcie i zastanawiałem się: Jak mogę uzyskać pełny log przez e-mail?phing: wysyłanie pełnego dziennika przez e-mail?


Po uruchomieniu phing przy użyciu wiersza polecenia zostanie wyświetlony dziennik budynku; Ja go lubię:

  • wysłany e-mail,
  • do kilku odbiorców,
  • czy budować udało, czy nie
  • idealnie: z tematu mail z informacją, czy budować sukces lub udało
  • idealnie: jakaś poczta HTML, formatowania, kolory, ... byłoby miło

mam chociaż o potokiem ouput phing do polecenia mail, ale chciałbym, aby rozwiązanie działało zarówno na Linuksie, jak i na Windowsie, i nie wymaga instalacji żadnego dodatkowego oprogramowania ...

Czy ktoś ma pomysł?


Jak sidenote: Myślałem o dodanie jakiś cel „Raport”, rozpoczętego pod koniec kompilacji, ale:

  • To jest uruchomiona tylko wtedy, gdy wszystkie poprzednie cele nie nie
  • nie widzę sposobu, aby uzyskać pełny-log w nim

Odpowiedz

0

to jest coś, co można zrobić bez instalacji dodatkowego oprogramowania zakładając, że jesteś w stanie napisać skrypt na serwerze linux masz dostęp do.

Masz skrypt php, używając komendy exec() lub system(), aby uzyskać pełny log. Wyślij to jako dane postów http za pomocą curl do skryptu zdalnego na serwerze Linux, do którego masz dostęp.

Na serwerze masz dostęp do napisania skryptu, aby zaakceptować zmienną http post i wysłać treść na twój adres e-mail. I możesz pomyśleć: "Och, nie, mam otwarty dostęp do osób, które mi wysyłają e-maile!" Jeśli znają twój adres lub masz formularz kontaktowy w sieci ... ta sama umowa. To jest rozwiązanie;) Jeśli bezpieczeństwo jest problemem, wyślij je przez https.

+0

Czy to było przydatne? Jeśli nie, mogę go usunąć. –

3

Sądzę, że można napisać niestandardowy słuchacz/programator budowy Phing obsługujący opisany przypadek użycia. Zapoznaj się z tym doskonałym blogiem post autorstwa Philipa Nortona, abyś mógł zacząć.

+0

Dzięki za tę odpowiedź!Trochę już późno (projekt, nad którym pracowałem skończyłem ^^), ale mógłbym spróbować któregoś dnia lub po prostu, żeby wiedzieć, jak mogę to uruchomić ;-) –

4

Świetny pomysł; Właśnie dodałem bilet do wdrożenia tego @http://phing.info/trac/ticket/539

+1

Cześć, cieszę się, że cię tu widzę^^ ;; Całkowicie zapomniałem to pytanie, ponieważ od zakończenia projektu potrzebowałem tego ... Ale nadal jestem pewien, że będzie to przydatne komuś w dzień lub inny ;-) –

0

Używamy czegoś. tak jak ten zawarty w skrypcie 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); 

Działa prawidłowo.

Powiązane problemy