Home - MocStepan/pdo GitHub Wiki
Dokumentace k bakalářské práci
Tento repozitář slouží k využití github wiki pro napsání technické dokumentace k bakalářské práci.
Představení bakalářské práce
- Bakalářská práce se zabívá CI testy a detekce chyb na platformě GitHub Actions.
- Autor: Štěpán Moc
- Vedoucí práce: doc. Mgr. Jan Březina, Ph.D.
Cíl dokumentace
Tato dokumentace se zaměřuje na využití GitHub Actions pro kontinuální integraci (CI) simulátoru Flow123d. Obsahuje návody pro nastavení CI/CD pipeline, tvorbu Docker obrazu a integraci testovacích nástrojů. Také se zaměřuje na platformu e-infra a automatické nasazení aplikací za pomocí helm a k8s (Kubernetes) nástrojů
Cílové skupiny a typ dokumentace
Vývojář CI/CD pipeline (devops, admin, sysadmin)
Typ návodu: technická dokumentace
Obsah návodu:
- Seznámení s GitHub Actions
- Nastavení CI pro Flow123d
- Vytvoření release Docker image s nástroji (např. vtk)
- Spouštění integračních testů v rámci CI
- Monitorování a ladění CI/CD pipeline
Další potřeby:
- Přístup k repozitáři Flow123d nebo vlastní repozitář s již existujícím kódem, aby bylo možné pracovat s pipelines
- Možnost spouštění a testování pipeline na vzdáleném serveru (github runner) nebo lokálně na vlastním zařízení za pomocí nástroje act
Administrátor platformy CERIT-SC
Typ návodu: systémová dokumentace
Obsah návodu:
- Zprovoznění Voila! a jupyter notebook aplikace pro vizualizaci dat
- Vytvoření kontejnerů pro Voila!
- Práce s helm a kubernetes nástroji
- Nasazení kontejnerů na CERIT-SC
- Automatizace nasazení
Další potřeby:
- Přístup k prostředí CERIT-SC (rancher.e-infar.cz)
- Možnosti správy kontejnerů
- Vlastní kubernetes namespace
Osnova
1. Úvod
- Cíl dokumentace
- Stručný popis GitHub Actions a CI
- Přehled součástí dokumentace
2. Automatizace procesu CI/CD pomocí GitHub Actions
- Jak GitHub Actions funguje
- Přehled CI/CD workflow
- Definice jobů a runnerů
- Best practices pro CI/CD
3. Tvorba a správa Docker image
- Základní image a jeho rozšíření
- Jak integrovat nástroje pro běh testů (VTK, další knihovny)
- Ukládání a verzování image
- Publikace image do Docker Hub nebo GitHub Container Registry
4. Osnova pro vývojáře
1. Automatizace testování v CI/CD
- Konfigurace a spouštění integračních testů
- Využití testovacích frameworků (GoogleTest)
- Paralelizace testů
- Debugging a troubleshooting CI/CD pipeline
2. Reportování výsledků testů
- Rešerše dostupných nástrojů
- Výběr a implementace nejvhodnějšího nástroje
- Automatizované generování reportů
- Integrace test reportů s GitHub Actions
5. Osnova pro administrátory
1. Helm
- Co to je
- Jak to funguje
- Využití Helm charts v projektech
2.. Kubernetes
- Co to je
- Jak to funguje
- Jednoduchá implementace s ukázkou pro Cerit-SC
- Instalace a konfigurace Kubernetes prostředí
3. Automatizace Helm charts a Kubernetes
- Co potřebuji pro vytvoření workflow v GitHub Actions
- Implementace workflow pro nasazení na Cerit-SC s využitím Helm a Kubernetes
- Deployment Voila! aplikace
6. Závěr
- Shrnutí klíčových bodů
- Další směřování dokumentace
- Kam směřovat dotazy a zpětnou vazbu
Další kroky
- Při příštím setkání projít připravené materiály
- Iterativně vylepšovat podle zpětné vazby