2011-12-19 11 views
10

Wersja 2.15 wtyczki Jenkins Email-ext dodano obsługę załączników do budowania powiadomień e-mail. Chciałbym mieć dołączony dziennik kompilacji do budowania powiadomień e-mail, ale nie mogę wymyślić, jak to zrobić.Jak dołączyć dziennik kompilacji do powiadomienia e-mail za pomocą wtyczki Jenkins Email-ext?

Dziennik kompilacji wydaje się być przechowywany w głównym węźle Jenkins (w tym przypadku w systemie Ubuntu Linux). Na przykład /var/lib/jenkins/jobs/<PROJECT_NAME>/builds/<DATE_TIME>/log. Oczywiście ścieżka dziennika kompilacji zmienia się z każdą kompilacją. Funkcja załączania pliku Email-ext domyślnie używa plików z obszaru roboczego projektu, który znajduje się na maszynie do tworzenia niewolników Jenkins (w tym przypadku Mac OS X). Na przykład skonfigurowałem urządzenie podrzędne do korzystania z folderu /Users/<USERNAME>/Jenkins/build_agent/workspace/<PROJECT_NAME>/.

Czy istnieje sposób na pobranie przez Email-ext pliku z systemu plików systemu głównego, zamiast obszaru roboczego na maszynie do tworzenia niewolników?

Z góry dziękuję wszystkim, którzy mogą udzielić porady. Obecnie Email-ext wiki page nie zawiera przykładu konfiguracji załączników.

Odpowiedz

10

Wtyczka obsługuje załączanie dziennika budowy, wystarczy zaznaczyć pole w konfiguracji projektu.

Project Configuration for email-ext

+1

Ten przycisk zawsze odznacza się po kliknięciu Zapisz/Zastosuj. Czy kiedykolwiek to zauważyłeś? Zobacz tutaj: http://stackoverflow.com/questions/15813494/jenkins-email-ext-attach-build-log-not-working Dziękuję –

13

Możesz po prostu użyć znacznika $ {BUILD_LOG, maxLines, escapeHtml} w treści wiadomości e-mail, aby dołączyć dziennik kompilacji.

Cytowanie doc wtyczki e-ext (dostępny here):

„, aby zobaczyć listę wszystkich dostępnych żetonów pocztowych i co one wyświetlane, można kliknąć przycisk«»(znak zapytania) związane z treścią? Token Reference w górnej części sekcji email-ext na ekranie konfiguracji projektu "

+1

Dzięki Vladisld. To dobra odpowiedź. Jednak już używam '$ {BUILD_LOG, maxLines = 9999, escapeHtml = false}' w treści Email-ext. Mój plik dziennika ma prawie tysiąc linii, więc chciałbym go pobrać z treści wiadomości i mieć go jako załącznik. –

4

Po przespaniu problemu i wykonaniu dalszych badań doszedłem do wniosku, że program Email-ext nie obsługuje dołączania dziennika kompilacji do wiadomości e-mail z powiadomieniem o kompilacji.

Jednak wymyśliłem podstępne obejście, którego można używać, dopóki taka funkcja nie jest dostępna: używam tokenów kompilacji Jenkinsa, aby wygenerować odpowiednie polecenie, aby skopiować plik dziennika z serwera głównego do obszaru roboczego kompilacji podrzędnej (patrz przypis poniżej).

W projekcie po głównym etapie kompilacji dodano nowy krok Wykonaj powłokę, aby wygenerować odpowiednie polecenie scp (bezpieczne kopiowanie). Jest to polecenie (wymienić USER i HOSTNAME z własnymi wartościami, i prawdopodobnie będziesz musiał dostosować ścieżkę do indywidualnych serwer):

scp [email protected]:/var/lib/jenkins/jobs/$JOB_NAME/builds/$BUILD_ID/log build.log 

Następnie w E-ext załączników pole wtyczka Email-ext, wszedłem:

build.log 

teraz dziennik budowy jest kopiowany z mastera do przestrzeni roboczej niewolnika i dołączone do budowania powiadomień wiadomości e-mail. Usunąłem token $BUILD_LOG z szablonu treści wiadomości.

Uwaga: aby użyć tej konkretnej techniki, musisz skonfigurować ssh bez haseł między Slave i Master, być może używając hasła klucza OpenSSH. Jeśli potrzebujesz pomocy, wyszukaj w Internecie informacje o poleceniu ssh-keygen i sprawdź samouczki, takie jak this one. Podobne podejście powinno działać na platformach, które nie mają wbudowanej obsługi SSH. RoboCopy lub podobny powinien działać w systemach Windows.

EDIT: mailu-ext plug-in ma teraz możliwość dołączania dziennik kompilacji do powiadomienia o zameldowaniu polu na ekranie konfiguracyjnym za zadanie. Zobacz odpowiedź slide dla przykładu.

0

Zauważyłem, że kiedy sprawdzić i pole dołączyć dziennik budowy, ale również unchecks po zapisaniu, jednak nie jest przymocowana w moje e-maile po e-mail została wysłana.

0

Firsl ze wszystkich Musisz zainstalować Email Ext plugin .Po zainstalowaniu wykonaj ten krok.

  • Teraz w do 'Dodaj post-build działania”wybierz edycji powiadomienie e-mail, w tym dziale masz opcję Zamocować budowy Log opcję .Wybrać jak na zdjęciu poniżej. enter image description here

po tym, jak zastosuje się i zapisze. Teraz na pewno otrzymasz załącznik do Build Email Email. Dziękuję.

Powiązane problemy