Gitlab CI/CD - kurz 35 000 rub. zo Slurmu, tréning, Termín: 28.11.2023.
Rôzne / / November 28, 2023
CI/CD je postup DevOps, ktorý automatizuje integračné a dodávacie procesy a umožňuje vám pravidelne uvoľňovať vysokokvalitný softvér.
Pomocou CI/CD môžete zmeny vložiť do hlavnej vetvy a mať istotu, že budú testované a nasadené do produkcie bez vašej účasti.
CI automaticky vytvorí softvér, otestuje ho a upozorní vás, ak sa niečo pokazí.
CD automaticky nainštaluje zmeny kódu na servery spoločnosti a spustí ďalšie testy.
S CI/CD nestrácate čas hľadaním a opravovaním problémov a môžete sa sústrediť na vývoj nových funkcií.
Senior systémový inžinier, Wrike, bývalý Slurm, bývalý Southbridge
– 11+ rokov v IT a sieťach, 7+ rokov v DevOps
– Staviteľ komunity AWS a certifikovaný architekt
– Spoluhostiteľ podcastu DevOps Kitchen Talks
– Funguje hlavne s cloud providermi (najčastejšie AWS), IaC (Terraform), Kubernetes, Docker, CI\CD (GitLab a iné) a ďalšími nástrojmi
Všetky kurzy prebiehajú na osobnom účte Slurm. Vy si vyberiete, kde a kedy ich budete pozerať. Po preštudovaní každej témy budete musieť splniť praktickú úlohu v stánkoch na platforme.
Prvé 2 témy sú k dispozícii zadarmo v minikurze „Čo je CI/CD?“
Čo je CI/CD a aké problémy táto technika rieši?
- Historický odkaz.
- Potreba automatizovať vydania, testovanie a ich opakovateľnosť.
- Urýchlite vývoj produktov.
- Zjednotenie a kapacita pre montáž výrobkov.
Všeobecný princíp fungovania CI/CD
Pochopte úlohu CI/CD v pracovných tokoch a čo Gitlab implementuje
- Metóda vývoja potrubia.
- Potrubia, stavby, artefakty.
- CI a CD (nasadenie a doručenie)
Cvičenie: rýchly štart s Gitlab CI.
Prehľad CI systémov
Získajte informácie o hlavných hráčoch, ktorí ponúkajú nástroje CI/CD na trhu
- TravisCI, CircleCI.
- Akcie Github.
- Jenkins/TeamCity.
- Gitlab CI
Prax: implementácia python pipeline v CircleCI, Github Actions, Jenkins, Gitlab CI
Prehľad, inštalácia a konfigurácia Gitlabu
Zistite, z akých komponentov sa skladá Gitlab, naučte sa spúšťať server Gitlab
- Z čoho sa Gitlab skladá, aké má funkcie a komponenty?
- Ako nainštalovať Gitlab?
- Základné nastavenia systému Gitlab.
Cvičenie: spustenie servera Gitlab
Váš prvý projekt v Gitlabe
Naučte sa odporúčania pre prácu s Gitlab po inštalácii: bezpečnosť a údržba
- Náš projekt vytvárame v Gitlabe.
- Najlepšie postupy (používateľské účty, autorizácia LDAP atď.).
Cvičenie: vytvorenie jednoduchého potrubia
Gitlab Runner a jeho konfigurácia
Zistite, čo je bežec a ako sa spúšťa
- Úlohy a schopnosti bežca.
- Aké typy existujú a pre aké prípady sú potrebné?
- Nastavenie bežca pre projekt.
Cvičenie: nastavenie Gitlab runner
Súbor .gitlab-ci.yml
Naučte sa syntaktické vlastnosti popisu a hlavných funkcií Gitlab pipeline
- Prečo je tento súbor potrebný, čo to je?
- Syntax, základné prístupy. CI Linter od spoločnosti Gitlab.
Cvičenie: Vytvorenie pokročilého potrubia
Integrácia Kubernetes
Zistite, ako sa Gitlab môže integrovať s Kubernetes, a zistite, ako nasadiť aplikáciu v rámci klastra
- Autorizácia v klastri pre bežcov.
- Natívna metóda integrácie Gitlabu s Kubernetes
Cvičenie: písanie kanála na nasadenie aplikácie v Kubernetes cez Gitlab
Pokročilé techniky GitLab CI (a funkcie)
Naučte sa najkomplexnejšie a najzaujímavejšie funkcie v Gitlabe
- Zahrnúť, šablóny.
- Práca s premennými.
- Podmienky pre prácu s etapami.
- Etapové závislosti a súbežnosť.
- Riešenie incidentov. Návrat späť a dynamické prostredia.
- Pridanie schopnosti Rollback do kanála
Cvičenie: kontrolný zoznam pre praktické úryvky, ktoré môžu byť užitočné v skutočných projektoch
GitOps
Získajte informácie o prístupe GitOps a o tom, ako ho možno implementovať pomocou Gitlab CI
- Push and Pull model pre CI/CD potrubia.
- ArgoCD.
Prax: inštalácia a používanie ArgoCD
Zabezpečenie v CI/CD
Zistite, ako zabezpečiť svoj kód a kanály CI/CD pomocou GitLab CI
- Tajné premenné.
- Kontrola bezpečnostného kódu.
Prax: Naučte sa integrovať GitLab CI s HashiCorp Vault
Perfektné potrubie so Slurmom
Skonsolidujeme materiál v praxi a vytvoríme produkčné potrubie, ktoré môže slúžiť ako prototyp pre reálne projekty
Napísanie skutočného produkčného procesu CI/CD v GitLab CI