## SION instalacija | Okruzenje | Server | Direktorijum na server gde se nalaze docker skripte | Url | | --------- | ------ | ---------------------- | --------------------------------- | | **produkcija** | / | / | / | | **stage** | perun | /etc/dc/sionstage | https://sion-stage.plusplusnt.rs/ | | **test** | perun | /etc/dc/sion | https://sion-test.plusplusnt.rs/ | Test se koristi interno u okvoru razvojnog tima dok je stage namenjen zaposlenima u okviru Sion Gard firme. Postavljanje nove verzije za sada: ## Postavka backend aplikacije: Postoje 2 načina: ### Prvi način (Ručno): 1. Odete u direktorijum **docker** i pokrenuti skriptu **./build.sh** sa profilom dev ``` ./build.sh dev ``` Kao rezultat dobija se izbildovani image sa tagom dev: 2. Potrebno je image tagovati sledecom komandom: ``` docker tag siongard-server:dev docker.plusplus.rs/siongard-server:dev ``` 3. Nakon sto je tagovan image, potrebno je pushovati taj image na docker.plusplus.rs docker repozitorijum, komanda je (Za ovo morate biti ulogovani (docker login docker.plusplus.rs): ``` docker push docker.plusplus.rs/siongard-server:dev ``` 4. Odete na server perun (ssh perun), predjete u /etc/dc/sion. Potrebno je povuci nove verzije image-a (docker-compose pull), stopirati i obrisati trenutne kontejnere koji su pokrenuti (docker-compose down) i ponovo pokrenuti sa novim image-om (docker-compose up -d), redosled komandi: ``` ssh perun cd /etc/dc/sion docker compose pull docker compose down docker compose up -d ``` **Napomena** : za **stage** se skripta pokrece sa parametrom **stage** i image se pravi sa profilom stage, svi gore navedeni koraci su isti, direktorijum gde se nalazi konfiguacija za stage okruzenje je **/etc/dc/sionstage** ### Drugi način (Automatski, CI/CD pipline): 1. Nakon što se nova verzija koda sion-back app spoji u granu **develop** postoji **pipeline** koji prvo izvrsi testove a potom **automatski** pravi i postavlja novu verziju image-a na perun i radi restart aplikacije za dev okruzenje **Napomena** : za stage se radi na slican nacin, samo se pipeline izvrsava kada se kod spoji u u granu **stage** ## Postavka frontend aplikacije: ### Prvi način (Ručno): 1. Odete u direktorijum sion-front i izvrsite skriptu build.sh sa parametrom dev ``` ./build.sh dev ``` 2. Potrebno je image tagovati sledecom komandom: ``` docker tag siongard-client:dev docker.plusplus.rs/sionagard-client:dev ``` 3. Nakon sto je tagovan image, potrebno je pushovati taj image na docker.plusplus.rs docker repozitorijum, komanda je (Za ovo morate biti ulogovani (docker login docker.plusplus.rs): ``` docker push docker.plusplus.rs/siongard-client:dev ``` 4. Odete na server perun (ssh perun), predjete u /etc/dc/sion. Potrebno je povuci nove verzije image-a (docker-compose pull), stopirati i obrisati trenutne kontejnere koji su pokrenuti (docker-compose down) i ponovo pokrenuti sa novim image-om (docker-compose up -d), redosled komandi: ``` ssh perun cd /etc/dc/sion docker compose pull docker compose down docker compose up -d ``` **Napomena** : za stage se koristi **stage** image tag i **/etc/dc/sionstage** direktorijum ### Drugi način (Automatski, CI/CD pipline): 1. Nakon što se nova verzija koda sion-front app spoji u granu **develop** postoji **pipeline** koji **automatski** pravi i postavlja novu verziju image-a na perun i radi restart aplikacije za dev okruzenje **Napomena** : za stage se radi na slican nacin, samo se pipeline izvrsava kada se kod spoji u u granu **stage** # JOOQ U slučaju da ste menjali entitete tj šemu baze podataka potrebno je da uradite build sion-jooq modula sa naredbom: mvn clean install -P generate-jooq Nakon toga će biti izgenerisan kod koji pušujete regularno kao svaki drugi kod koji ste iskucali. Napomena: model se generiše na osnovu šeme baze podataka što znači da pre build-a morate pokrenuti server kako vi se šema sihronizovala sa entitetima.