Skip to content

Commit

Permalink
CI/CD és Docker doc pótlás
Browse files Browse the repository at this point in the history
  • Loading branch information
voroscsoki committed May 24, 2024
1 parent 3f5ddc6 commit 58f8f6a
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 0 deletions.
24 changes: 24 additions & 0 deletions doc/ci-cd.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Vízhálózat játék CI-CD

Ez a dokumentum leírja a projekthez készített és felhasznált CI-CD rendszereket. A megvalósítás fő vektora a GitHub Actions volt.

## Részfeladatok
# 1. Maven beüzemelése
Az eredeti projekt Mavent használt a program fordításához és futtatásához. Ez többnyire működőképes volt, de a pom.xml fájlon változtatni kellett a kívánt hatás eléréséhez.

Fel kellett venni a maven compiler és jar pluginokat, ezek segítségével a projekt forráskódja fordítható, és további függőségektől mentes, önálló .jar fájlba csomagolható.
A kapott fájl bármilyen, a Java 11-es verzióját támogató környezetben futtatható, JDK telepítése nélkül, kizárólag a JRE használatával.

# 2. GitHub Actions
A GitHub Actions lehetővé teszi repository-k automata tesztelését, ellenőrzését, futtatását. A projekt másik egységében ezt a SonarCloud-hoz is kihasználtuk.

Az általam létrehozott action a következő lépéseket hajtja végre:
1. A legújabb stabil Ubuntu verzió használata
2. A projekt forráskódjának lemásolása
3. 11-es verziójú AdoptOpenJDK telepítése
4. A projekt buildelése a maven pom fájl segítségével, tesztekkel, tisztítással és csomagolással

Amennyiben ezek a lépések mind sikeresek, nagy bizonyossággal állíthatjuk, hogy a projekt futtatható a specifikált környezetben.
A sikert zöld pipa jelzi, a hibát piros X; ez utóbbi esetben értesítést kapunk a repository beállításai szerint.

Wendl Csongor (HZERYX) - 2024
28 changes: 28 additions & 0 deletions doc/docker.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Vízhálózat játék deployment (Docker)

Ez a dokumentum leírja a projekthez készített és felhasznált konténerizációs és deploy megoldásokat. A megvalósítás fő vektora a Docker volt.

## Részfeladatok
# 1. Dockerfile készítése
A dockerfile írja le, hogy egy adott docker image elkészítéséhez milyen lépéseket kell végrehajtani. Ebben az esetben a lépések a következők:
- standard docker maven+openjdk11 image használatával:
- a projekt forráskódjának lemásolása, buildelése
- standard docker openjdk11 image használatával:
- xauth és egyéb függőségek telepítése (lásd lejjebb: X11)
- X11 kijelző célpont beállítása (docker virtuális)
- kész .jar és adatfájlok másolása
- VNC port nyitása
- jar file futtatása
# 2. Docker image futtatása
A docker image buildelhető így:
docker build -t IMAGE_NÉV .
A docker image futtatása a következő paranccsal történik:
docker run -e DISPLAY=host.docker.internal:0.0 --name CONTAINER_NÉV IMAGE_NÉV

A program ezután natív ablakként jelenik meg a host gépen és játszható.

# Információ: X11
Az X11 kijelzőszerver Unix rendszereken gyári felszereltségnek tekinthető, viszont Windows esetében ez nem adott. A program csakis grafikus felülettel rendelkezik, így a futtatáshoz elengedhetetlen az X11 szerver megléte.
Windowson erre például az Xming alkalmas, telepítése és futtatása elegendő. A dockerfile beállítja a megfelelő dockeres virtuális kijelzőt, ennek eredményeként a játék natív Windows ablakként jelenik meg és játszható.

Wendl Csongor (HZERYX) - 2024

0 comments on commit 58f8f6a

Please sign in to comment.