CI/CD implementálása Python projekten
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.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Local CLI bevezető
- Local CI telepítés
- Flake és tesztelés
- Dockerizáció
- 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
- 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
- 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
- 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
- GitLab CI/CD
- GitLab pipeline
- CI YAML fájl
- Pipeline editor
- Grafikus pipeline
- Build és artifactok
- Runner-ek
- Egyéb szolgáltatások
- 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
- 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
- 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
- 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
Az oktatóról
Az állandó munkahely mellett mindig volt valamilyen vállalkozásom, saját cégem. Az itt végzett feladatok kapcsán ismerkedtem meg először a Python nyelvvel, majd kerültem közelebb az IoT világhoz. Több teljesített megrendelés, verseny és hobby projekt közben szedtem magamra Raspberry PI programozásával kapcsolatos tudást. Manapság full-stack fejlesztőként- és technológiai vezetőként Javascript/React frontend, Python web backend, C++ core stacken dolgozom saját vállalkozásban, emellett C++ és Python nyelveket oktatok kezdőtől a haladó szintig.