PY-CI

CI/CD implementálása Python projekten

CD pipeline kialakítása Python projekten, végén Docker és Kubernetes környezetbe telepítéssel
Választható részvételi forma
Választható képzési forma
Képzés hossza
  • 3 nap (3×8 tanóra)
  • naponta 9:00 - 17:00
Elérhető képzési nyelvek
  • Magyar
Választható időpontok

Képzés ára

374 000 Ft
+ ÁFA/fő
Kérjük, válassz időpontot és részvételi formát!
Szeretne a cégére szabott megoldást, csoportos képzést?
Egyedi képzési szolgáltatásainkról részletesen itt olvashat.

Ismertető

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.

A tanfolyam célja, hogy a résztvevők átfogó képet kapjanak a modern szoftverfejlesztési és szállítási folyamatokról, különös tekintettel a Python projektekre. A képzés során a résztvevők saját kezűleg építenek fel egy teljes CI/CD pipeline-t, amely magában foglalja a kód verziókezelését, automatikus tesztelést, kódminőség ellenőrzést, csomagolást, konténerizációt és deployment-et Kubernetes környezetbe.

A gyakorlati megközelítés mellett a tanfolyam hangsúlyt fektet a DevOps kultúra megértésére és a best practice-ek elsajátítására. A résztvevők megismerik az iparági szabványokat, eszközöket és munkafolyamatokat, amelyek lehetővé teszik a gyors, megbízható és automatizált szoftverszállítást. A tanfolyam végére a résztvevők képesek lesznek önállóan CI/CD pipeline-t tervezni és implementálni Python projektekhez.

Kinek ajánljuk?

Kinek ajánljuk a tanfolyamot?

A tanfolyamot Python fejlesztőknek, DevOps mérnököknek és rendszergazdáknak ajánljuk.

Ez a tanfolyam neked szól, ha:

  • Python fejlesztő vagy és CI/CD-t szeretnél tanulni
  • DevOps mérnök vagy és Python projektekkel dolgozol
  • Automatizálni szeretnéd a build és deployment folyamatokat
  • Jenkins-t szeretnél használni CI/CD-hez
  • Docker és Kubernetes-t szeretnél alkalmazni
  • Kódminőséget szeretnéd javítani (SonarQube)
  • Modern szoftverfejlesztési gyakorlatokat szeretnél elsajátítani
  • Team lead vagy és CI/CD-t szeretnél bevezetni

Előnyök

A Python: CI/CD tanfolyam előnyei
  • Gyakorlati tudás: Teljes CI/CD pipeline építése
  • Iparági eszközök: Jenkins, Docker, Kubernetes, SonarQube használata
  • Automatizálás: Build, test és deploy folyamatok automatizálása
  • Kódminőség: Clean code, statikus analízis és tesztelés
  • Modern DevOps: Konténerizáció és orchestration
  • Produktivitás: Gyorsabb release ciklusok
  • Karrierlehetőségek: DevOps és CI/CD készségek iránti erős piaci kereslet

Tematika

CI/CD és szállítási folyamatok
  • Szállítási folyamatok (klasszikus vs modern megközelítés)
  • Szoftver életciklus (development, testing, staging, production)
  • Életciklus példa (valós projekt bemutatása)
  • DevOps bevezetés (kultúra, gyakorlatok, előnyök)
  • Docker példa (konténerizáció alapjai)
  • Folyamatos szállítás (Continuous Delivery, CD)
  • CD példa (automatizált deployment)
  • Klasszikus problémák (manuális deployment, “works on my machine”)
  • Folyamatos integrálás (Continuous Integration, CI)
  • CI példa (automatizált build és test)
  • Pipeline áttekintés (CI/CD pipeline elemei)
  • Pipeline példa (end-to-end pipeline bemutatása)
  • Build eszközök (összehasonlítás, Python specifikus eszközök)
Fejlesztői környezet és projektstruktúra
  • Fejlesztői környezet (IDE, tools, best practices)
  • Projekt struktúra (Python projekt felépítése)
  • Projekt létrehozása (cookiecutter, project templates)
  • Függőségkezelés (pip, requirements.txt, Poetry, Pipenv)
  • venv vs. global (virtual environment használata)
  • Egyéb csomagkezelők (Poetry, Pipenv, Conda)
  • Minta program (referencia projekt létrehozása)
Tesztelés és dokumentáció
  • Tesztelés alapok (miért fontos a tesztelés)
  • Tesztek típusai (unit, integration, e2e, acceptance)
  • Tesztelés áttekintése (testing pyramid)
  • Unit testing (unit tesztek írása Python-ban)
  • pytest keretrendszer (modern Python testing framework)
  • unittest keretrendszer (Python beépített test framework)
  • pytest példa (egyszerű és összetett tesztek)
  • Egyszerű pytest (assert alapú tesztek)
  • Dokumentáció generálás (automatikus dokumentáció)
  • Docstrings (Python dokumentációs stringek)
  • Dokumentáció formátumok (Sphinx, reStructuredText, Markdown)
  • CI/CD dokumentáció (dokumentáció build pipeline-ban)
Haladó pytest és tesztelési minták
  • Pytest haladó (fixture-ök, paraméterezés, plugin-ek)
  • Automatizált tesztek (CI pipeline-ban futó tesztek)
  • TDD bevezető (Test-Driven Development)
  • Pytest koncepciók (test discovery, assertions, markers)
  • Fixture bevezető (setUp és tearDown pytest-ben)
  • Fixture paraméterek (paraméterezett fixture-ök)
  • Fixture használat (scope, autouse)
  • OOP tesztelés (osztályok és metódusok tesztelése)
  • Mockolás (unittest.mock, pytest-mock)
  • Dependency Injection (DI tesztelésben)
Kódminőség és statikus elemzés
  • Clean code (tiszta kód elvek)
  • PEP8 ismertető (Python style guide)
  • PEP8 futtatása (flake8, pylint, black)
  • Type hinting (Python type annotations)
  • mypy statikus analízis (type checking)
  • Kódlefedettség (coverage.py, pytest-cov)
  • Kódellenőrzés (linter-ek használata)
Csomagolás és terjesztés
  • Csomagolás (Python package-ek)
  • setuptools, wheel, twine
  • PyPI publikálás
  • CLI alkalmazások készítése
  • Lokális telepítés és fejlesztés
Docker és konténerizáció
  • Docker alapok és architektúra
  • Dockerfile készítés Python projekthez
  • Image build és layer optimalizáció
  • Docker Compose
  • Container futtatás és hálózatok
CI/CD workflow és Git
  • Git alapok és branching stratégiák
  • GitHub / GitLab használat
  • Pull/Merge request workflow
  • pre-commit hookok
  • GitLab CI/CD (.gitlab-ci.yml)
  • Jenkins pipeline és Jenkinsfile
Artifact management (Nexus)
  • Nexus bevezető és telepítés
  • Privát PyPI repository
  • Docker registry használat
  • Artifact feltöltés és letöltés
Jenkins CI/CD
  • Jenkins telepítés és konfiguráció
  • Pipeline as Code (Jenkinsfile)
  • Multi-branch pipeline
  • Build és deployment lépések
  • Blue Ocean UI
GitLab CI/CD
  • .gitlab-ci.yml pipeline
  • GitLab Runner
  • CI/CD environments
Adatbázisok és migrációk
  • SQLAlchemy ORM
  • PostgreSQL Dockerben
  • DB CRUD műveletek
  • Kapcsolatok (relationships)
  • Alembic migrációk
Kubernetes és Minikube
  • Kubernetes alapok
  • kubectl használat
  • Pod, Node, Cluster
  • Deployment és Service YAML
  • Minikube lokális cluster
SonarQube
  • Kódminőség analízis
  • SonarQube telepítés Dockerben
  • GitLab integráció
  • Coverage és security analízis
API tesztelés (Postman & Newman)
  • Postman használat
  • Collection és environment kezelés
  • Automatizált API tesztelés
  • Newman CLI futtatás
  • CI integráció (Jenkins / GitLab CI)
Tematika (PDF)

Szükséges előképzettség

  • Python fejlesztési tapasztalat
  • Virtuális környezetek (venv, virtualenv) kezelése
  • Függőségkezelés (pip, requirements.txt)
  • Git verziókezelő rendszer alapjai (clone, commit, push, pull, branch, merge)
  • Linux/Unix parancssor használata (navigáció, fájlkezelés, jogosultságok)
  • Bash vagy más shell scripting alapok
  • HTTP protokoll és REST API alapfogalmak
  • JSON és YAML formátumok olvasása és írása
  • SQL nyelv alapjai (SELECT, INSERT, UPDATE, DELETE, JOIN)
  • Relációs adatbázisok alapfogalmai
  • Hálózati alapismeretek (TCP/IP, DNS, portok)
  • Szövegszerkesztő vagy IDE használata Python fejlesztéshez

A tanfolyam közepes/haladó szintű, tapasztalt Python fejlesztőknek és kezdő DevOps mérnököknek készült. A résztvevőknek rendelkezniük kell szilárd Python tudással és képesnek kell lenniük önálló alkalmazásfejlesztésre. Command-line és Git ismeretek elengedhetetlenek a tanfolyam sikeres teljesítéséhez. Docker és Kubernetes előzetes tapasztalat hasznos, de nem kötelező, mivel ezeket a technológiákat a tanfolyam során részletesen áttekintjük.

Merre tovább?

Mit fogsz tudni a tanfolyam után?
  • CI/CD folyamatokat tervezel és implementálsz
  • Jenkins pipeline-okat építesz
  • Docker image-eket készítesz Python alkalmazásokhoz
  • Docker Compose-t használsz
  • Kubernetes-ben deployolsz
  • Minikube-ot használsz lokális fejlesztéshez
  • GitLab CI/CD-t konfigurálsz
  • Git branching stratégiákat alkalmazol
  • Pre-commit hookokat használsz
  • Nexus artifact repository-t üzemeltetsz
  • SonarQube-ot használsz kódminőség ellenőrzésre
  • pytest-et használsz unit és integration tesztekhez
  • TDD-t (Test-Driven Development) alkalmazol
  • Kódlefedettséget mérsz
  • Type hinting-et használsz
  • PEP8-at betartod
  • Python csomagokat készítesz és publikálsz
  • Postman-t és Newman-t használsz API tesztelésre
  • Adatbázis migrációkat kezelsz (Alembic)