Angular Spring Jenkins

0

Mam backend napisany w Springu i frontend napisany w Angularze. Na VPSie zainstalowany jest Jenkins i nie wiem w jaki sposób mogę uruchomić aplikację z poziomu Jenkinsa, który po pobraniu kodu z githuba (gdy pojawi się tam zmiana), zbudowaniu aplikacji i przeprowadzeniu wszystkich testów - w przypadku gdy wszystkie testy zakończą się sukcesem uruchomi zwyczajnie aplikację, bez wdrażania jej na jakiś inny serwer. Jest w ogóle taka możliwość?

0

pewnie, że jest

Jenkins wykonuje buildy lokalnie w katalogu workspace (jak dobrze pamiętam) - poczytaj logi, tam bedzie informacja gdzie jest projekt. W tej lokalizacji będą wszystkie pliki projektu. Tak więc po buildzie/testach będzie tam katalog target/ w którym znajdzie się twój .jar

Odpalić go możesz klasycznie:

java -jar nazwaJara.jar

btw. Webmastering to chyba zła kategoria forum

0
azalut napisał(a):

pewnie, że jest

Jenkins wykonuje buildy lokalnie w katalogu workspace (jak dobrze pamiętam) - poczytaj logi, tam bedzie informacja gdzie jest projekt. W tej lokalizacji będą wszystkie pliki projektu. Tak więc po buildzie/testach będzie tam katalog target/ w którym znajdzie się twój .jar

Odpalić go możesz klasycznie:

java -jar nazwaJara.jar

btw. Webmastering to chyba zła kategoria forum

Nie wiedziałem za bardzo gdzie wrzucić ten temat.
Wiem jak zbudować projekt i przeprowadzić testy, ale nie wiem za bardzo jak uruchomić aplikację. Dodam też, że uruchamiam Jenkinsa za pomocą pliku .war, więc mam dostępne wszystkie programy z cmd. Dla Angulara na początku stworzyłem Freestyle project, który pobierał kod z repozytorium githuba i w skrypcie napisałem:

cd C:\Users\Mateusz\.jenkins\workspace\angular
ng build
ng serve

I wszystko się pobiera i buduje jednak nie uruchamia
screenshot-20200616162200.png
Chciałbym cały proces zautomatyzować w mniej więcej taki sposób:

  1. Po każdym commicie na githuba, na gałąź master, Jenkins pobiera kod z githuba i buduje projekt
  2. Projekt jest testowany
  3. W przypadku gdy któryś z testów nie przejdzie dalsze czynności nie są wykonywane
  4. Jeśli wszystkie testy zakończą się sukcesem, w przypadku gdy uruchomiona jest aplikacja jest ona zatrzymywana, wszystkie jej pliki usunięte i zastąpione nowymi pobranymi z repo
  5. Uruchamiana jest nowa aplikacja
    Tylko nie mam zielonego pojecia jak to zrobić. Większość przykładów mówi jak przesłać wynikową paczkę na serwer, na przykład na Heroku czy AWS, ale nie udało mi się nic znaleźć o uruchamianiu apki na VPSie z tego samego miejsca gdzie Jenkins jest zainstalowany.

1 użytkowników online, w tym zalogowanych: 0, gości: 1