CI/CD implementálása Java projekten szabadon választható eszközökkel
A DevOps és a Continuous Delivery (folyamatos szállítás) olyan gyakorlatok és folyamatok összessége, amelyek célja a szoftverfejlesztés hatékonyságának és minőségének növelése.
A képzés célja a DevOps és a Continuous Delivery fogalmainak bemutatása.
- Bevezetés
- DevOps
- Continuous Delivery
- Pipeline és legjobb gyakorlatok
- Konkrét pipeline és eszközök
- Build eszközök
- Maven build eszköz
- Maven build eszköz - gyakorlat
- Maven futtatás
- Maven futtatás - gyakorlat
- Maven függőségek
- Maven függőségek - gyakorlat
- Maven unit tesztek futtatása
- Maven unit tesztek futtatása - gyakorlat
- Gradle build eszköz
- Gradle build eszköz - gyakorlat
- Gradle futtatás
- Gradle futtatás - gyakorlat
- Gradle függőségek
- Gradle függőségek - gyakorlat
- Gradle unit tesztek futtatása
- Gradle unit tesztek futtatása - gyakorlat
- Tesztlefedettség
- Maven tesztlefedettség - gyakorlat
- Gradle teszt lefedettség - gyakorlat
- Csomagolás
- Maven csomagolás - gyakorlat
- Gradle csomagolás - gyakorlat
- Bevezetés a Docker használatába
- Bevezetés a Docker használatába - gyakorlat
- Nexus repo manager
- Nexus repo manager - gyakorlat
- Nexus repo manager Maven proxyként - gyakorlat
- Deploy Mavennel Nexus repoba - gyakorlat
- Nexus repo manager Gradle proxyként - gyakorlat
- Deploy Gradle Nexus repoba - gyakorlat
- Artifactory repo manager
- Artifactory repo manager - gyakorlat
- Artifactory repo manager Maven proxyként - gyakorlat
- Deploy Mavennel Artifactory repoba - gyakorlat
- Artifactory repo manager Gradle proxyként - gyakorlat
- Deploy Gradle Artifactory repoba - gyakorlat
- Tesztelési módszerek
- Integrációs tesztek
- Integrációs tesztek Mavennel in-memory adatbázissal - gyakorlat
- Integrációs tesztek Mavennel valós adatbázissal - gyakorlat
- Integrációs tesztek Gradle-lel in-memory adatbázissal - gyakorlat
- Integrációs tesztek Gradle-lel valós adatbázissal - gyakorlat
- Csomagolás Docker Image-be Dockerfile használatával
- Csomagolás Docker Image-be Dockerfile használatával Maven projekt esetén - gyakorlat
- Csomagolás Docker Image-be Dockerfile használatával Gradle projekt esetén - gyakorlat
- Docker layers
- Docker layers Maven esetén
- Docker layers Gradle esetén
- Csomagolás Docker Image-be Mavennel Cloud Native Buildpacks használatával - gyakorlat
- Csomagolás Docker Image-be Gradle-lel Cloud Native Buildpacks használatával - gyakorlat
- Docker repository létrehozása Nexus-ban - gyakorlat
- Docker image deploy Nexus-ba Maven projekten - gyakorlat
- Docker image deploy Nexus-ba Gradle projekten - gyakorlat
- YAML formátum
- Docker compose használata - gyakorlat
- E2E tesztelés Selenium WebDriverrel
- E2E tesztelés Selenium WebDriverrel - gyakorlat
- E2E tesztelés Postman/Newman használatával
- E2E tesztelés Postman/Newman használatával - gyakorlat
- E2E tesztelés Newman használatával - gyakorlat
- SonarQube
- SonarQube - gyakorlat
- Projekt elemzése SonarScanner Maven pluginnal - gyakorlat
- Integrációs tesztek SonarScanner Maven pluginnal - gyakorlat
- Projekt elemzése SonarScanner Gradle pluginnal - gyakorlat
- Integrációs tesztek SonarScanner Gradle pluginnal - gyakorlat
- SonarQube Quality Profiles - gyakorlat
- SonarQube Quality Gates - gyakorlat
- SonarQube Quality Gate Mavennel - gyakorlat
- SonarQube Quality Gate Gradle-lel - gyakorlat
- IDEA SonarLint plugin - gyakorlat
- DevSecOps alapjai
- OWASP dependency check Mavennel - gyakorlat
- OWASP dependency check Gradle-lel - gyakorlat
- Üzemeltetési platformok
- AWS CLI beállítása - gyakorlat
- EC2 példány létrehozása AWS környezetben - gyakorlat
- Ansible
- Ansible telepítése és konfigurálása - gyakorlat
- Alkalmazás jar telepítése Ansible használatával - gyakorlat
- Docker image push-olása Docker Hubra - gyakorlat
- Docker telepítés és konténer futtatás AWS környezetben Ansible használatával
- Kubernetes
- Kubernetes objektumok
- Futtatás Kubernetes környezetben
- Verziókezelés és trunk based development
- Branch-elési stratégiák
- Lokális Git repo létrehozása - gyakorlat
- Verziókezelés GitHubon
- Gitlab
- GitLab indítása - gyakorlat
- Verziókezelés GitLabbal - gyakorlat
- Jenkins
- Jenkins indítása - gyakorlat
- Első pipeline a Jenkinsen - gyakorlat
- Maven build Jenkinsen - gyakorlat
- Maven cache Jenkinsen - gyakorlat
- Verziószám Jenkinsen - gyakorlat
- Integrációs tesztek futtatása Jenkinsen - gyakorlat
- Docker Hub credentials Jenkinsen - gyakorlat
- Docker image létrehozása és push Docker Hubra Jenkinsen - gyakorlat
- E2E tesztek futtatása Jenkinsen - gyakorlat
- Artifact archiválás Jenkinsen - gyakorlat
- SonarQube ellenőrzés futtatása Jenkinsen - gyakorlat
- Párhuzamos futtatás Jenkinsen - gyakorlat
- Az ssh-agent használata - gyakorlat
- AWS credentials Jenkinsen - gyakorlat
- Ansible telepítés AWS környezetre Jenkinsen - gyakorlat
- Git hash megjelenítése - gyakorlat
- Manuális lépés Jenkinsen - gyakorlat
- GitLab runner - gyakorlat
- Első pipeline GitLabon - gyakorlat
- Gradle build GitLabon - gyakorlat
- Gradle cache GitLabon - gyakorlat
- GitLab artifact - gyakorlat
- Verziószám Gradle és GitLab használatával - gyakorlat
- Gradle integrációs tesztek futtatása GitLabon - gyakorlat
- Docker image létrehozása GitLabon - gyakorlat
- E2E tesztek futtatása GitLabon - gyakorlat
- SonarQube ellenőrzés futtatása GitLabon - gyakorlat
- Párhuzamos futtatás GitLabon - gyakorlat
- Telepítés Kubernetes környezetre GitLabon - gyakorlat
- Manuális lépés GitLabon - gyakorlat
- Helm
- Telepítés Kubernetes környezetre Helmmel GitLabon
- Telemetria
- Monitorozás Prometheus és Grafana használatával - gyakorlat
- Tracing Zipkin használatával - gyakorlat
- Naplózás EFK használatával - gyakorlat
- CI/CD kihívásai microservice környezetben
Az oktatóról
Viczián István vagyok, Java fanatikusként fejlesztek, oktatok, blogot írok, rendezvényeket szervezek és konferenciákra járok. A Debreceni Egyetemen végeztem programtervező matematikusként, jelenleg a Training360-nál tartok oktatásokat. 1998 óta foglalkozom objektumorientált programozással és szoftverfejlesztéssel, kiemelt szakterületem a Java és Java EE alkalmazásfejlesztés. Vezető fejlesztőként, architektként dolgoztam/dolgozom kormányzati, banki, telekommunikációs és energetikai fejlesztési projektekben. Szakmai blogot is írok JTechLog néven. Szabadidőmben sokat túrázok, próbálom felfedezni Magyarország rejtett kincseit.