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:

wtyczka automatycznego wdrażania

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?

Author: Eric Wilson, 2012-02-14

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.

 104
Author: Bill Clark,
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

 8
Author: German Attanasio,
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.

 1
Author: anvarik,
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

 1
Author: AHungerArtist,
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.

 0
Author: Queso,
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).

Lub na Deploy to Tomcat with pluging DEPLOY

 0
Author: nizar ouerghi,
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>
 0
Author: Venky Vungarala,
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