Skip to content

Files

Latest commit

e0d7c75 · Jun 29, 2022

History

History
119 lines (87 loc) · 3.08 KB

README.md

File metadata and controls

119 lines (87 loc) · 3.08 KB

Képzési folyamat:

  1. Elméleti alapok: CI/CD
  2. Groovy és Gradle
  3. Build Java projekt esetén: Compile, Unit test, Package
  4. Tesztlefedettség
  5. Integrációs tesztek inmemory adatbázissal
  6. Release (?)
  7. Docker alapok
  8. Integrációs tesztek valós adatbázissal
  9. Csomagolás Docker image-be:
    • Futtatás Docker image-ben
    • Futtatás Docker image-ben adatbázis& network használatával
    • Konténer futtatása Gradle-bpl
    • Layerelt Docker image
  10. Build Docker image-ben
  11. E2E tesztelés
    • E2E tesztelés Docker Compose használatával
  12. Jenkins bevezetése
    • Pipeline
    • Build number
  13. SonarQube
    • Quality Gate és Quality Profile
    • Tesztlefedettség eredménye
  14. Deploy artifact to Nexus
  15. Deploy Docker image t Nexus
  16. Pull and run Docker image from Nexus

Második nap

Integrációs tesztek valós adatbázisok:

docker run -d -e MARIADB_DATABASE=employees -e MARIADB_USER=employees -e MARIADB_PASSWORD=employees -e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=yes -p 3306:3306 --name employees-mariadb mariadb

docker logs -f employees-mariadb

Futtatás:

docker exec -it employees-mariadb mysql

Cloudban futtatható alkalmazások alapszabályai: The Twelve-Factor App

Kellett beállítani a springhez dolgokat (liquibase)

  • set SPRING_DATASOURCE_URL=jdbc:mariadb://localhost/employees
  • set SPRING_DATASOURCE_USER=employees
  • set SPRING_DATASOURCE_PASSWORD=employees

ezek után megfelelően elindul a Spring app a java -jar target\employees-1.0-SNAPSHOT.jar paranccsal

Érdemes nem csak a konténtert, de még az alkalmazást is "layerekre bontani"

Dockerben minden egyes copy parancs új "layert" hoz létre

Dockerfile-on belül lehet meghatározni cache képet, ami a függőségeket letölti, és akkor a build nem minden újrafutásnál szenved vele

host.docker.internal

így lehet a saját gépre kilátni

##Alkalmazás és adatbázis együttes futtatása docker network create employees-net

docker run -d -e MARIADB_DATABASE=eemployees -e MARIADB_USER=employees -e MARIADB_PASSWORD=employees -e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=yes -p 3307:3306 --name employees-app-mariadb --network employees-net mariadb

docker run -d -e SPRING_DATASOURCE_URL=jdbc:mariadb://employees-app-mariadb/employees -e SPRING_DATASOURCE_USERNAME=employees -e SPRING_DATASOURCE_PASSWORD=employees -p 8085:8080 --name employees-app --network employees-net employees

Docker compose: egy python script, ami képes a konténereket/konténeren belül futtatni, stb , ez benne van a docker desktop alkalmazásban: .yaml végződésűek

ezeket a docker compose-zal lehet elindítani

postmanoltunk

newman usage

Sonarqube

hibafelmérő

ha átadod neki a becsomagoolt vagy ellenőrzött kódot, ad egy szép elemzést, részletbe menően

tokent generál, és vagy hozzáad a pomhoz, vagy build során a cmd vonalon kell megadni

Nexus

Sonatype alatt készül.

docker run --name nexus --detach --publish 8091:8081 --publish 8092:8082 sonatype/nexus3

szép kis nexusos

Gitlab

the ONE devOps platform

git hosting platform, lehet központi, vagy lokál szerveren tenni