2016-12-02 13 views
5

Nie mogę znaleźć żadnego przykładu ani artykułu, jak może wyglądać ciągły rurociąg dostawczy, gdy używamy Spring Boot + Jenkins.Prosty rurociąg z rozkwicie i ciągłym dostarczaniem

w Java EE zwykle zrobić to tak: zmiany

  • push do repozytorium
  • kontrole Jenkins zmiany co 5 minut
  • jeśli nastąpiła zmiana, Jenkins ciągnie źródła i uruchomić Maven budować
  • użyciu JBoss Application Server maven wtyczki biegnę przesunięcie na serwerze

I generalnie zastanawiam się, co zrobić w ostatni punkt, kiedy używam Spring Boot. Aplikacja jest spakowana w pojedynczy plik JAR i uruchamiana w oddzielnym procesie, więc w Spring Boot właściwie nie ma czegoś takiego jak redeploy. Czy muszę napisać jakiś skrypt, aby najpierw zabić stary proces, a następnie uruchomić nowy artefakt? A może jest coś takiego jak "spring boot cli", gdzie mogę zarządzać wszystkimi uruchomionymi aplikacjami wiosennego startu?

Odpowiedz

3

Musisz zabić stary proces i uruchomić nowy proces jako usługę. Jest to bardzo dobrze wyjaśnione tutaj Spring Boot application as a Service.

Jest ładny ssh plugin dla Jenkins, które używamy: https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin

  1. Kopiowanie słoik z serwerem
  2. Zatrzymaj stary usług
  3. Uruchom nową usługę

EDIT: Dodano Wiosna bagażnika numer referencyjny do uruchamiania wiosennego rozruchu jako usługa - http://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html @Vaelyr

+2

Link do oficjalnych dokumentów. Osobiście używam go jako usługi init.d, działa ładnie: http://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html – Vaelyr