Gitlab CI/CD - kursus 35.000 rub. fra Slurm, træning, Dato: 28. november 2023.
Miscellanea / / November 28, 2023
CI/CD er en DevOps-praksis, der automatiserer integrations- og leveringsprocesser og giver dig mulighed for regelmæssigt at frigive software af høj kvalitet.
Med CI/CD kan du skubbe ændringer til mastergrenen og være sikker på, at de vil blive testet og implementeret til produktion uden din deltagelse.
CI vil automatisk bygge softwaren, teste den og give dig besked, hvis noget går galt.
CD vil automatisk installere kodeændringer på virksomhedens servere og køre yderligere test.
Med CI/CD spilder du ikke tid på at finde og rette problemer og kan fokusere på at udvikle nye funktioner.
Senior Systems Engineer, Wrike, ex-Slurm, ex-Southbridge
– 11+ år i IT og netværk, 7+ år i DevOps
– AWS Fællesskabsbygger og certificeret arkitekt
– DevOps Kitchen Talks-podcast-medvært
– Arbejder primært med cloud-udbydere (oftest AWS), IaC (Terraform), Kubernetes, Docker, CI\CD (GitLab og andre) og andre værktøjer
Alle klasser foregår på Slurms personlige konto. Du vælger selv, hvor og hvornår du vil se dem. Efter at have studeret hvert emne, skal du udføre en praktisk opgave ved platformens stande.
De første 2 emner er gratis tilgængelige i minikurset "Hvad er CI/CD?"
Hvad er CI/CD, og hvilke problemer løser denne teknik?
- Historisk reference.
- Behovet for at automatisere udgivelser, test og deres repeterbarhed.
- Fremskynde produktudviklingen.
- Ensretning og kapacitet til produktmontering.
Generelt princip for CI/CD-drift
Forstå CI/CD's rolle i arbejdsgange, og hvad Gitlab implementerer
- Metode til udvikling af rørledninger.
- Rørledninger, byggerier, artefakter.
- CI og CD (implementering og levering)
Øvelse: hurtig start med Gitlab CI.
Oversigt over CI-systemer
Lær om de vigtigste aktører, der tilbyder CI/CD-værktøjer på markedet
- TravisCI, CircleCI.
- Github-handlinger.
- Jenkins/TeamCity.
- Gitlab CI
Øv: implementering af en python-pipeline i CircleCI, Github Actions, Jenkins, Gitlab CI
Gitlab oversigt, installation og konfiguration
Find ud af hvilke komponenter Gitlab består af, lær hvordan du kører Gitlab-serveren
- Hvad består Gitlab af, hvilke funktioner og komponenter har det?
- Hvordan installerer man Gitlab?
- Grundlæggende indstillinger af Gitlab-systemet.
Øv: lancering af en Gitlab-server
Dit første projekt i Gitlab
Lær anbefalinger til at arbejde med Gitlab efter installation: sikkerhed og vedligeholdelse
- Vi laver vores projekt i Gitlab.
- Bedste praksis (brugerkonti, LDAP-godkendelse osv.).
Øv: skabe en simpel pipeline
Gitlab Runner og dens konfiguration
Find ud af, hvad en løber er, og hvordan de lanceres
- Løberens opgaver og evner.
- Hvilke typer findes der, og til hvilke sager er de nødvendige?
- Opsætning af runner til et projekt.
Øv: opsætning af Gitlab runner
Filen .gitlab-ci.yml
Lær de syntaktiske funktioner i Gitlab-pipelinebeskrivelsen og hovedfunktionerne
- Hvorfor er denne fil nødvendig, hvad er det?
- Syntaks, grundlæggende tilgange. CI Linter fra Gitlab.
Øv: Oprettelse af en avanceret pipeline
Kubernetes integration
Find ud af, hvordan Gitlab kan integreres med Kubernetes, og lær, hvordan du implementerer en applikation i en klynge
- Autorisation i klyngen for løbere.
- Native metode til at integrere Gitlab med Kubernetes
Øv: at skrive en pipeline til implementering af en applikation i Kubernetes via Gitlab
Avancerede GitLab CI-teknikker (og funktioner)
Lær den mest komplekse og interessante funktionalitet i Gitlab
- Inkluder, skabelon.
- Arbejde med variabler.
- Betingelser for at arbejde med stadier.
- Stadieafhængigheder og samtidighed.
- Håndtering af hændelser. Rollback og dynamiske miljøer.
- Tilføjelse af Rollback-kapacitet til pipelinen
Øv: en tjekliste til praktiske uddrag, der kan være nyttige i rigtige projekter
GitOps
Lær om GitOps-tilgangen, og hvordan den kan implementeres ved hjælp af Gitlab CI
- Push and Pull-model til CI/CD-rørledninger.
- ArgoCD.
Praksis: installation og brug af ArgoCD
Sikkerhed i CI/CD
Lær, hvordan du sikrer din kode og dine CI/CD-pipelines ved hjælp af GitLab CI
- Hemmelige variabler.
- Tjek koden for sikkerhed.
Øv: lær hvordan du integrerer GitLab CI med HashiCorp Vault
Den perfekte pipeline med Slurm
Vi vil konsolidere materialet i praksis og skabe en produktionskvalitetspipeline, der kan tjene som en prototype for rigtige projekter
At skrive en rigtig produktionsklar CI/CD-proces i GitLab CI