Jenkins auto deploy tomcat 7
Próbujemy rozłożyć plik wojenny z Jenkinsem, ale nic się nie dzieje.
Projekt został zbudowany pomyślnie, a my używamy wtyczki Jenkins deploy. Jest on skonfigurowany z następującymi opcjami:
Kroki Post są ustawione na "Uruchom niezależnie od wyniku kompilacji".
Sprawdziłem, czy poświadczenia są poprawne, ponieważ mogę uzyskać dostęp do strony menedżera w mojej przeglądarce.
Oto ostatnia część, którą Jenkins (Maven) wyprowadza:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:24.506s
[INFO] Finished at: Tue Feb 14 12:10:45 UTC 2012
[INFO] Final Memory: 22M/52M
[INFO] ------------------------------------------------------------------------
channel stopped
Finished: SUCCESS
I can also Zmień plik WAR/EAR na coś, co nie istnieje, a to nie spowoduje błędów, co jest trochę dziwne. Co ja tu robię źle?
7 answers
Miałem ten sam problem i w moim przypadku (względna) ścieżka do pliku WAR była nieprawidłowa. Widocznie, jeśli nie masz go dokładnie poprawnego (musi być w stosunku do głównego obszaru roboczego), wtyczka deploy po cichu zawiedzie. W moim przypadku ścieżka była:
Target / whatever.war
Gdy to zostało naprawione, napotkałem inny problem w tym, że plugin spodziewa się połączyć z menedżerem / wersją tekstową programu Tomcat Manager, a nie z wersją menedżera/html, którą zazwyczaj Konfiguruj domyślnie. Będziesz potrzebował linii w tomcat-users.plik xml jak poniżej:
(jest to dodatek do roli "manager-gui", którą prawdopodobnie już skonfigurowałeś.)
Gdy te zmiany zostały wprowadzone, Budowa i wdrożenie działały dobrze.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-01 00:04:48
Używam Hudson Post build Task plugin aby wykonać curl przeciwko /manager / text API
Wymienione wtyczki można wybrać i instalowane z listy dostępnych wtyczek w konfiguracji Jenkins.
Po zainstalowaniu wtyczki wystarczy włączyć "post build task" I dodać następną linię:
curl -T - -u user:pass 'http://<tomcat-host>/manager/text/deploy?update=true&path=/<yourpath>' < <path_to_war_file>
Na przykład:
curl -T - -u manager:123456 'http://localhost:8080/manager/text/deploy?update=true&path=/slim' < /target/dist/slim.war
Możesz również użyć wget , ale za pomocą powyższego polecenia logujesz wyjście i sprawdź, czy nie było problemu z wdrożeniem.
Oto dokumentacja związana z usługą /manager/text
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-29 13:14:05
Hm użyłeś pluginu Cargo ? Miałem też taką samą konfigurację jak ty, Jenkins, maven i tomcat. Ale kiedy musiałem wdrożyć, byłem po prostu za pomocą tej wtyczki. Minęło trochę czasu, ale w Jenkinsie udało Ci się wprowadzić wiersze wiersza polecenia, prawda? Jak mvn clean install? Możesz więc po prostu skonfigurować pom dla wtyczki Cargo, a następnie dodać tę linię do swojego Jenkinsa:
mvn cargo:deploy -Pintegration
W ten sposób byłem w stanie codziennie czyścić moje buildy i wdrażać do Tomcata. Potem robiłam testy na odpoczynek.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-29 13:21:38
Jeśli to coś warte, najnowsza wersja wtyczki Deploy dla Jenkins wydaje się potrzebować tylko podstawowego adresu url. Więc dla mnie to było http://blah.com:8080
Wcześniej próbowałem wielu innych opcji, w tym host-manager / html, host-manager / text
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-09 06:01:26
Zakładając, że Jenkins znajduje Twój pom.XML do kompilacji. Ustaw swoje cele i opcje w konfiguracji Jenkins na skompiluj pakiet . Wtedy Jenkins spróbuje znaleźć Twoje akta wojenne i je rozłożyć. Powodzenia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-14 16:32:57
Próbowałem użyć rozwiązania target / whatever.wojna ale to nie praca. więc próbowałem użyć */.war and it ' s work
Możesz to zobaczyć na jenkins the definitive guide PL Musisz określić, gdzie znaleźć pliki, które chcesz znaleźć w obszarze roboczym innego zadania budowania, i gdzie Jenkins powinien umieścić je w przestrzeni roboczej Twojego obecnego projektu. Może to być elastyczne Wyrażenie regularne (takie jak */.war , dla każdego pliku wojennego wyprodukowanego przez build pracy), lub może być znacznie więcej precyzyjne (np. gameoflife-web / target / gameoflife.wojny).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-26 08:22:13
Zachowaj menedżer ról-gui,admin-gui dla użytkownika, który został skonfigurowany na stronie Jenkins
Przykład:-
<tomcat-users>
<user username="uname" password="pword" roles="manager-gui,admin-gui"/>
</tomcat-users>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-15 10:48:56