Skip to content

Ticker - Scheduler module, perform periodic operations based on configuration - powered By Quarkus 3+

License

Notifications You must be signed in to change notification settings

i-Cell-Mobilsoft-Open-Source/ticker-backend

Repository files navigation

Ticker Modul

Általános

Compile status Maven central version of Parent pom project License of Parent pom project Use JakartaEE project Commits Supported jvms GitHub Repo Stars

A projekt célja, egy moduláris megoldás adása arra, hogy cron időzítéssel adott api végpontok meghívásával folyamatokat indítson el.

Fejlesztés

A fejlesztés során mock service használata javasolt ha rest hívás fejlesztése a cél. Ehhez a docker-compose-ok közül a mock-service-t kell indítani, valamint a maven clean install esetén az add-mockapi profil segítségével kell buildelni az alkalamzást, hogy meglegyen a microprofile rest client apival.

Tesztelés

Tesztelési lehetőségre 2 féle képpen is lehetőség van.

A ticker-testsuite alatt létrehozott al projekt, mely a projektről amennyire lehetséges független, nem dependál a projektre, csakis kizárólag az api részét használja fel.

Fejlesztői tesztek - ticker-testsuite

<PROJECT_PATH>/ticker-testsuite

A fejlesztői tesztek a Roaster projektet használják fel. Ez egy teljesen önnáló REST külső hívásokat végez el a deployolt alkalmazáson. Futtatható egyből a fejlesztői UI (junit plugin) vagy a maven segítségével (aktiválni kell a "profile" kapcsolót), például:

cd local_path/ticker/ticker-testsuite/ticker-testsuite-sample/ticker-testsuite-sample-service
mvn verify -Dprofile (1)
mvn verify -Dprofile=sandbox,local (2)
  1. default paraméterek

  2. kiválasztott profilok a konfigurációs fájlokból

Release

A release elkészítése automata folyamat, amit a Github actionök segítségével végezhető el. Erre a docker-compose és dockerimage áll rendelkezésre.

/ticker/etc/release/Dockerfile

Alapvetően 3 részből áll:

  1. Base image, ami esetünkben egy java 17 image

  2. jar fájl lehúzása - nexusból lehúzni a kívánt deployment fájlt

  3. dockerimage finalizálása - jar fájlok bele másolása, stb.

/ticker-backend/etc/release/docker-compose.yml

Funkciója hogy beállítja a service-k változóit és egyszerre kezelje őket.

Futtatás

Futtatás kézi indítással történik a GitHub Actions-el.