CI/CD med Jenkins - kursus 35.000 rub. fra Slurm, træning 8 lektioner, Dato 28. november 2023.
Miscellanea / / November 28, 2023
Dette er et kursus med fokus på den praktiske brug af Jenkins. Den vil indeholde mange eksempler fra min personlige praksis.
Lad os gå fra simpelt til komplekst. Først vil vi se på anvendelsesområderne for Jenkins og forskellige typer pipelines, derefter vil vi tage et kig på Jenkins Shared Library og se på integration med Kubernetes.
Mit mål er at dele min erfaring og hjælpe dig med at undgå at begå de fejl, som jeg lavede i begyndelsen af min rejse.
Dette kursus vil uddybe din viden om at arbejde med Jenkins. Alt hvad vi dækker under træningen, kan du med det samme omsætte i praksis.
Grundlæggende om CI/CD
Du lærer hvilket problemområde CI/CD kan løse. Du vil være i stand til at sammenligne aktuelle problemer i dit arbejde med CI/CD-funktionalitet.
Teori:
- Historien om CI/CD
- Nødvendighed af brug, repeterbarhed af samlinger
- Feedback loop
- Entropi uden automatisering (menneskelige fejl)
- Bedste praksis
- Hvordan man ikke gør det
Jenkins grundlæggende
Du vil forstå logikken i andres arkitektoniske beslutninger og forstå biblioteksstrukturen i Jenkins. Lær at installere Jenkins og udføre grundlæggende konfiguration.
Teori:
- Hvilke problemer løser Jenkins?
- Arkitektur på øverste niveau - mester-slave
- Katalogstruktur i Jenkins master (legitimationsoplysninger, arbejdsområde, logfiler)
- Installation af en server på Linux (centos)
- Forskellige muligheder for at køre Linux i Docker
Øve sig:
- Installation og konfiguration af Jenkins-serveren ved hjælp af en af de metoder, der er beskrevet i lektionen
Jenkins administration
Du vil lære, hvordan du installerer plugins og laver grundlæggende konfiguration, tilføjer yderligere arbejdsknudepunkter og konfigurerer konfigurationsværktøjer. Du vil forstå, hvordan du opretter legitimationsoplysninger og differentierer adgangsrettigheder i Jenkins.
Teori:
- Tilføjelse af slaveagenter
- Arbejde med værktøjer
- Sikkerhed i Jenkins
- Metoder til afgrænsning af rettigheder
- Hvorfor har vi brug for plugins og muligheder for at installere dem?
Øve sig:
- Installation af plugin og opsætning af yderligere værktøjer. Tilføjelse af et GitLab-token til legitimationsoplysninger.
Implementering (2 lektioner)
Du lærer, hvordan du vælger den rigtige type pipeline til at organisere CI/CD-processen, opsætte et arbejdsmiljø til udvikling og test af pipelinen. Du vil forstå, hvordan du opretter et job med parametre, freestyle job, deklarativ pipeline, scripted pipeline.
Teori:
- Typer af rørledninger
- VScode + IdeaIJ
- Aktiv reaktiv + udvidet valg med groove scripts
Øve sig:
- Oprettelse af en pipeline
Integrationer med Jenkins
Du lærer, hvordan du opsætter pipeline-integration med SAST Sonarqube og notifikation via e-mail, Telegram og Slack.
Teori:
- Integration med Sonarqube: hvad er det og hvorfor?
- Integration med jforg: hvad er det og hvorfor?
- Metoder til meddelelse om resultaterne af pipeline-udførelse
Øve sig:
- Opsætning af en pipeline med afsendelse af resultater
Udvikling i Jenkins
Du vil lære anvendelsesområderne for Jenkins Shared Library og Jenkins Template Engine og lære, hvordan du opretter simpel JSL.
Teori:
- Lad os se på to tilgange ved hjælp af eksempler:
- Jenkins Shared Library og Jenkins Template Engine
Øve sig:
- Oprettelse af et simpelt Jenkins-delt bibliotek
Bedste praksis
Du lærer, hvordan du opsætter en pipeline ved hjælp af Blue Ocean og opretter en Jenkins As a Code-konfiguration.
Teori:
- DevOps måde at gemme Jenkins konfiguration på
Øve sig:
- Opsætning af en pipeline ved hjælp af Blue Ocean
- Oprettelse af en konfiguration som kode og installation af Jenkins fra den
Jenkins på Kubernetes
Du vil lære, hvordan du opsætter Jenkins og Kubernetes integration. Du vil forstå, hvordan du konfigurerer en pipeline til at bruge dynamiske agenter i Kubernetes.
Teori:
- Jenkins og Kubernetes integration
Øve sig:
- Opsætning af Kubernetes-integration
- Opsætning af en pipeline ved hjælp af dynamiske agenter
Eksamensforberedelse
Du vil overveje flere muligheder for opgaver, der kan indgå i samtaler.
Afsluttende opgave
Du vil modtage 2-3 repositories (frontend og backend). Opgaven er at udarbejde CI/CD processen. Opgaven vil hjælpe med at bestemme niveauet for færdighedsvækst.