CI/CD med Jenkins - kurs 35 000 rub. från Slurm, träning 8 lektioner, Datum 28 november 2023.
Miscellanea / / November 28, 2023
Detta är en kurs med fokus på den praktiska användningen av Jenkins. Den kommer att innehålla många exempel från min personliga praktik.
Låt oss gå från enkla till komplexa. Först ska vi titta på tillämpningsområdena för Jenkins och olika typer av pipelines, sedan ska vi ta en titt på Jenkins Shared Library och titta på integration med Kubernetes.
Mitt mål är att dela med mig av min erfarenhet och hjälpa dig att undvika att göra de misstag som jag gjorde i början av min resa.
Denna kurs kommer att fördjupa dina kunskaper om att arbeta med Jenkins. Allt vi täcker under utbildningen kan du omedelbart omsätta i praktiken.
Grunderna för CI/CD
Du får lära dig vilket problemområde CI/CD kan lösa. Du kommer att kunna jämföra aktuella problem i ditt arbete med CI/CD-funktionalitet.
Teori:
- Historia om CI/CD
- Nödvändighet av användning, repeterbarhet av sammansättningar
- Återkopplingsslinga
- Entropi utan automatisering (mänskliga fel)
- Bästa metoder
- Hur man inte gör det
Jenkins grunder
Du kommer att förstå logiken i andras arkitektoniska beslut och förstå katalogstrukturen i Jenkins. Lär dig att installera Jenkins och utföra grundläggande konfiguration.
Teori:
- Vilka problem löser Jenkins?
- Arkitektur på toppnivå - mästare-slav
- Katalogstruktur i Jenkins master (referenser, arbetsyta, loggar)
- Installera en server på Linux (centos)
- Olika alternativ för att köra Linux i Docker
Öva:
- Installera och konfigurera Jenkins-servern med någon av metoderna som diskuteras i lektionen
Jenkins administration
Du kommer att lära dig hur du installerar plugins och gör grundläggande konfigurationer, lägger till ytterligare arbetarnoder och konfigurerar konfigurationsverktyg. Du kommer att förstå hur du skapar autentiseringsuppgifter och särskiljer åtkomsträttigheter i Jenkins.
Teori:
- Lägger till slavagenter
- Arbeta med verktyg
- Säkerhet i Jenkins
- Metoder för att avgränsa rättigheter
- Varför behöver vi plugins och alternativ för att installera dem?
Öva:
- Installera plugin och konfigurera ytterligare verktyg. Lägga till en GitLab-token till autentiseringsuppgifter.
Implementering (2 lektioner)
Du kommer att lära dig hur du väljer rätt typ av pipeline för att organisera CI/CD-processen, sätta upp en arbetsmiljö för att utveckla och testa pipeline. Du kommer att förstå hur man skapar ett jobb med parametrar, freestyle-jobb, deklarativ pipeline, scripted pipeline.
Teori:
- Typer av rörledningar
- VScode + IdeaIJ
- Aktivt reaktivt + utökat val med groove-skript
Öva:
- Skapa en pipeline
Integrationer med Jenkins
Du kommer att lära dig hur du ställer in pipelineintegration med SAST Sonarqube och avisering via e-post, Telegram och Slack.
Teori:
- Integration med Sonarqube: vad är det och varför?
- Integration med jforg: vad är det och varför?
- Metoder för meddelande om resultaten av pipelineexekveringen
Öva:
- Skapa en pipeline med sändningsresultat
Utveckling i Jenkins
Du kommer att lära dig tillämpningsområdena för Jenkins Shared Library och Jenkins Template Engine, och lära dig hur du skapar enkel JSL.
Teori:
- Låt oss titta på två tillvägagångssätt med hjälp av exempel:
- Jenkins Shared Library och Jenkins Template Engine
Öva:
- Skapa ett enkelt Jenkins delat bibliotek
Bästa praxis
Du kommer att lära dig hur du konfigurerar en pipeline med hjälp av Blue Ocean och skapar en Jenkins As a Code-konfiguration.
Teori:
- DevOps sätt att lagra Jenkins-konfiguration
Öva:
- Att sätta upp en pipeline med Blue Ocean
- Skapa en konfiguration som kod och installera Jenkins från den
Jenkins på Kubernetes
Du kommer att lära dig hur du ställer in Jenkins och Kubernetes integration. Du kommer att förstå hur du konfigurerar en pipeline för att använda dynamiska agenter i Kubernetes.
Teori:
- Jenkins och Kubernetes integration
Öva:
- Konfigurera Kubernetes-integration
- Skapa en pipeline med hjälp av dynamiska agenter
Examensförberedelser
Du kommer att överväga flera alternativ för uppgifter som kan ingå i intervjuer.
Sista uppgiften
Du kommer att få 2-3 repositories (frontend och backend). Uppgiften är att arbeta fram CI/CD-processen. Uppgiften kommer att hjälpa till att bestämma nivån av kompetensutveckling.