CI/CD with Jenkins - course 35,000 rub. from Slurm, training 8 lessons, Date November 28, 2023.
Miscellaneous / / November 28, 2023
This is a course with a focus on the practical use of Jenkins. It will contain many examples from my personal practice.
Let's go from simple to complex. First, we’ll look at the areas of application of Jenkins and different types of pipelines, then we’ll take a look at the Jenkins Shared Library and look at integration with Kubernetes.
My goal is to share my experience and help you avoid making the mistakes that I made at the beginning of my journey.
This course will deepen your knowledge of working with Jenkins. Everything we cover during training, you can immediately put into practice.
CI/CD Basics
You will learn what problem area CI/CD can solve. You will be able to compare current problems in your work with CI/CD functionality.
Theory:
- History of CI/CD
- Necessity of use, repeatability of assemblies
- Feedback Loop
- Entropy without automation (human errors)
- Best practices
- How not to do it
Jenkins Basics
You will understand the logic of other people's architectural decisions and understand the directory structure in Jenkins. Learn to install Jenkins and perform basic configuration.
Theory:
- What problems does Jenkins solve?
- Top-level architecture - master-slave
- Directory structure in Jenkins master (credentials, workspace, logs)
- Installing a server on Linux (centos)
- Different options for running Linux in Docker
Practice:
- Installing and configuring the Jenkins server using any of the methods discussed in the lesson
Jenkins Administration
You will learn how to install plugins and do basic configuration, add additional worker nodes and configure configuration tools. You will understand how to create credentials and differentiate access rights in Jenkins.
Theory:
- Adding slave agents
- Working with Tools
- Security in Jenkins
- Methods for delineating rights
- Why do we need plugins and options for installing them?
Practice:
- Installing the plugin and setting up additional Tools. Adding a GitLab token to credentials.
Deployment (2 lessons)
You will learn how to choose the right type of pipeline to organize the CI/CD process, set up a working environment for developing and testing the pipeline. You will understand how to create a job with parameters, freestyle job, declarative pipeline, scripted pipeline.
Theory:
- Types of pipelines
- VScode + IdeaIJ
- Active reactive + extended choice with groove scripts
Practice:
- Creating a pipeline
Integrations with Jenkins
You will learn how to set up pipeline integration with SAST Sonarqube and notification via e-mail, Telegram and Slack.
Theory:
- Integration with Sonarqube: what is it and why?
- Integration with jforg: what is it and why?
- Methods of notification about the results of pipeline execution
Practice:
- Setting up a pipeline with sending results
Development in Jenkins
You will learn the areas of application of Jenkins Shared Library and Jenkins Template Engine, and learn how to create simple JSL.
Theory:
- Let's look at two approaches using examples:
- Jenkins Shared Library and Jenkins Template Engine
Practice:
- Creating a Simple Jenkins Shared Library
Best practics
You will learn how to set up a pipeline using Blue Ocean and create a Jenkins As a Code configuration.
Theory:
- DevOps way to store Jenkins configuration
Practice:
- Setting up a pipeline using Blue Ocean
- Creating a configuration as code and installing Jenkins from it
Jenkins on Kubernetes
You will learn how to set up Jenkins and Kubernetes integration. You will understand how to configure a pipeline to use dynamic agents in Kubernetes.
Theory:
- Jenkins and Kubernetes integration
Practice:
- Setting up Kubernetes integration
- Setting up a pipeline using dynamic agents
Exam preparation
You will consider several options for tasks that may be included in interviews.
Final task
You will receive 2-3 repositories (frontend and backend). The task is to work out the CI/CD process. The task will help determine the level of skill growth.