E-3166898
CI/CD implementálása Python projekten • E-learning
A képzés során megismerhető a CI/CD folyamata Python projekt példáján. GitHub, Jenkins, SonarQube és Nexus használatával automatizált pipeline-t építünk. Docker image-et készítünk, amit Kubernetes környezetbe telepítünk.
Elérhető képzési nyelvek
- Magyar
Képzési forma
Személyre szabott ajánlatot szeretnél?
Kollégáink készséggel állnak rendelkezésedre, hogy segítsenek a neked megfelelő megoldás kialakításában.Tematika
Session 01 – CI/CD és szállítási folyamatok
- Szállítási folyamatok
- Szoftver életciklus
- Életciklus példa
- DevOps bevezetés
- Docker példa
- Folyamatos szállítás
- CD példa
- Klasszikus problémák
- Folyamatos integrálás
- CI példa
- Pipeline áttekintés
- Pipeline példa
- Build eszközök
Session 02 – Fejlesztői környezet és projektstruktúra
- Fejlesztői környezet
- Projekt struktúra
- Projekt létrehozása
- Függőségkezelés
- venv vs. global
- Egyéb csomagkezelők
- Minta program
Session 03 – Tesztelés és dokumentáció
- Tesztelés alapok
- Tesztek típusai
- Tesztelések áttekintése
- Unit testing
- pytest keretrendszer
- unittest keretrendszer
- pytest példa
- Egyszerű pytest
- pytest feladat
- Dokumentáció generálás
- Docstrings
- Dokumentáció formátumok
- CI/CD dokumentáció
- Dokumentáció feladat #1
- Dokumentáció feladat #2
Session 04 – Haladó pytest és tesztelési minták
- Pytest haladó bevezető
- Automatizált tesztek
- TDD bevezető
- Pytest koncepciók
- Pytest példa
- Fixture bevezető
- Fixture paraméterek
- Fixture használat
- OOP tesztelés
- Mockolás
- Dependency Injection
Session 05 – Kódminőség és statikus elemzés
- Clean code
- PEP8 ismertető
- PEP8 futtatása
- Type hinting
- Type hinting típusok
- Type hinting példák
- Type hinting program
- Kódellenőrzés
- mypy statikus analízis
- Kódlefedettség
- Kódlefedettség példa
Session 06 – Csomagolás és terjesztés
- Csomagolás bevezető
- Csomagolás eszközök
- Modulok
- Library gyakorlat
- setup.py
- setup extra
- setuptools
- Twine bemutató
- Új build
- Extra fájlok
- Twine rövid
- CLI gyakorlat
- pip local install
- CLI futtatás
Session 07 – Docker és konténerizáció
- Konténerizáció bevezető
- Docker áttekintés
- Python Docker példa
- Image build
- Docker Desktop telepítés
- Docker build
- Docker rétegek
- Docker Compose
- Compose fájl
- Compose futtatás
- Compose futtatás #2
- Környezeti változók
- Gyakorlati Docker példa
- Container futtatás
- Host hozzáférés
- CLI futtatás Dockerből
Session 08 – CI/CD workshop
- Local CLI bevezető
- Local CI telepítés
- Flake és tesztelés
- Dockerizáció
Session 09 – Verziókezelés (Git & GitLab)
- Git bevezető
- Egyéb VCS
- Git telepítés
- Git CLI
- Git működés
- Git szerverek
- GitLab és Git
- GitLab checkout
- Pull request
- PR kezelése
- PR stratégiák
- pre-commit hook
- Python hook
- Hook beüzemelése
- flake pre-commit
- Branching stratégiák
Session 10 – Artifact Management (Nexus)
- Artifact management (Nexus)
- Nexus telepítés
- Nexus dashboard
- Admin belépés
- Admin onboarding
- Privát PyPI
- PyPI proxy
- Felhasználó létrehozása
- pip proxy
- Helyhasználat
- Csomagok
- Csomag feltöltése
- Privát csomag használata
- Privát csomag telepítése
- Docker registry
- Docker elérés
- Image feltöltés
- Image letöltés
Session 11 – Jenkins és CI pipeline
- Jenkins bevezető
- Jenkins Docker telepítés
- Jenkins konfiguráció
- Jenkins dashboard
- Jenkins jobok
- Python build
- GitLab konfiguráció
- Build lépések
- Build futtatás
- Python plugin
- Jenkins Dockerfile
- Build lépések összefoglaló
- Python csomagolás
- Python venv telepítés
- Python venv használat
- Nexus elérése
- Python csomag feltöltés
Session 12 – Jenkins Blue Ocean
- Blue Ocean bevezető
- Blue Ocean telepítés
- Docker újraindítás
- Jenkins működés
- Jenkins használat
- Multi-branch pipeline
- Jenkinsfile áttekintés
- Jenkinsfile létrehozás
- Jenkinsfile a Gitben
- Build pipeline detekció
- pip telepítése Dockerben
- Jenkinsfile pip módosítás
- venv aktiválás
- Build
- Build vége
- GitLab SSH beállítás
- SSH kulcs generálás
- SSH kulcs hozzáadás
- Host key verifikáció
- Jenkins build SSH kulccsal
- Production Docker build
Session 13 – Gitlab CI / CD
- GitLab CI/CD
- GitLab pipeline
- CI YAML fájl
- Pipeline editor
- Grafikus pipeline
- Build és artifactok
- Runner-ek
- Egyéb szolgáltatások
Session 14 – Adatbázisok és migráció kezelés
- Adatbázis kezelés
- Adatbázis alapok
- CI/CD és DB
- SQLAlchemy
- ORM
- DB driverek
- PostgreSQL futtatás
- PostgreSQL kapcsolódás
- DB package telepítés
- DB mintakód
- Mintakód futtatás
- Adatbázisból olvasás
- DB utasítások
- DB alap műveletek
- DB read
- DB update
- DB delete
- Kapcsolatok kezelése
- Összetett kapcsolatok
- DB verziózás
- Alembic bevezető
- Alembic CLI
- alembic.ini
- Alembic revision
- env.py
- Alembic config
- Script futtatás
- psql CLI
- Adatbázis kapcsolódás
- Database2 csatlakozás
- Új migráció
- DB tippek
- DB kapcsolatok
Session 15 – Kubernetes és minikube
- Kubernetes bevezető
- Container orchestration
- Node típusok
- kubectl CLI
- Node és pod
- Minikube bevezető
- Minikube használat
- Cluster áttekintés
- CLI parancsok
- Manifest
- Manifest kód
- Példa cluster
- Cluster indítása
- Load balancer Minikube
- kubectl clusterre
- Python appok
Session 16 – SonarQube
- SonarQube bevezető
- Telepítés
- Bejelentkezés
- GitLab VCS
- GitLab repo
- SonarCube felületek
- Analízis
- SonarQube CLI
- CLI config
- CLI call
- Analízis futtatás
- Analízis CLI
- Analízis eredmény
- Hibás kód
- Issue nézet
- Kód javítás
- Security
- Coverage
- pytest
- Test kód
- Coverage XML
- Analízis újra
- Könyvtár exclude
- SonarQube CI/CD integ
Session 17 – Postman és Newman API tesztelés
- Postman Newman bemutatás
- pytest vs Newman
- Postman letöltés
- Postman telepítés
- HTTP metódusok
- REST API alapok
- Postman GET
- Postman auth
- Keresések tesztelése
- Teszt kód írás
- Collection
- Postman bejelentkezés
- Collection létrehozás
- Environmentek
- Env változók
- Flow request chaining
- Egyszerű keresés flow-ban
- Parametrizált keresés
- Statikus változók
- Dinamikus változók
- Flow egyéb elemei
- Newman telepítés
- Postman exportálás
- Newman path
- Newman futtatás
- Newman CI integráció
- Newman Python web API-kal