
Welcome to the first lecture of this GitLab course. From this lecture we will start our journey to learn GitLab CI/CD. And in this particular lesson you will learn about what is CI/CD (Continuous Integration/Continuous Delivery/Continuous Deployment) in general. This foundation will prepare you to build powerful GitLab CI/CD pipelines and adopt best practices for GitLab DevOps workflows.
In this lecture, we’ll break down and clarify what CI (Continuous Integration) and CD (Continuous Delivery & Continuous Deployment) really mean in the context of modern software workflows. Understanding these terms is crucial before building real CI CD pipelines and implementing efficient GitLab DevOps practices.
In the lecture we will see what are the stages that a software has to go through (in general) during its development cycle to build a high-quality software.
After learning about Software Development Lifecycle. In this class we will see how companies used to build software/any other applications without adapting CI/CD (Continuous Integration/Continuous Delivery, Development) work culture.
Here we will discuss about the drawbacks of developing a software without embodying CI/CD practices. Understanding the limitations of the conventional approach highlights why modern CI CD DevOps workflows are so valuable for faster, automated, and reliable software delivery.
After learning the issues and drawbacks of conventional SDLC, in this lecture we will learn how a company can adapt CI/CD work culture and also will see how adapting CI/CD work culture and DevOps standards into SDLC helps to eradicate the drawbacks we discussed.
In this small introductory lecture students will get to know about GitLab and why it’s one of the most popular platforms for modern software teams.
In this lecture, you’ll learn step-by-step how to create your first project in GitLab. We’ll walk through setting up a new repository, configuring essential settings, and understanding the project structure. This hands-on experience will prepare you to manage your code effectively on GitLab and build robust GitLab CI CD pipelines as you progress through the GitLab DevOps workflow.
In this lecture, we’ll take a guided tour of the GitLab user interface. You’ll get familiar with key sections such as the GitLab project dashboard, repository files, CI/CD settings, and project configurations. Understanding the GitLab UI will help you navigate smoothly as you build, test, and deploy projects using GitLab CI CD and apply GitLab DevOps best practices.
In this lecture, you’ll learn how to set up a virtual machine (VM) on your system.
In this lecture, we begin adapting a CI-focused workflow by organizing our project with proper Git branching strategies. You’ll learn how to create and manage branches in GitLab, laying the groundwork for building clean and efficient GitLab CI/CD pipelines and adopting best practices for GitLab DevOps development.
In this continuation of our Git branching setup, you’ll further organize your project’s source code in GitLab.
In this lecture we will understand what actually a pipeline is? We’ll break down the concept of a pipeline as a series of automated steps—such as build, test, and deploy—that help streamline software delivery. A solid grasp of pipelines is essential for implementing efficient and scalable DevOps workflows.
In this lecture, you’ll write your first GitLab CI pipeline to build and run the application you created in the previous lesson. We’ll walk through crafting a simple .gitlab-ci.yml file, and see our GitLab CI CD process in action.
In this class we will go through the GitLab pipeline execution log details and will explore the various steps a GitLab pipeline goes through to complete the job defined in a pipeline. Log analysis is crucial for maintaining reliable and efficient GitLab workflows.
In this lecture we will create a Nodejs application to run in GitLab. We’ll set up the project structure, write basic code.
After creating the Node.js application, this lecture will guide you through writing the GitLab CI/CD pipeline for it. You’ll learn how to define stages, jobs, and scripts in the .gitlab-ci.yml file to automate the processes.
In this lecture, you’ll learn the difference between a single stage and multiple stages within a GitLab CI/CD pipeline. We’ll explore how to organize jobs into logical stages and see a hands-on example of configuring them in .gitlab-ci.yml.
After knowing about stage and stages, in this lecture we will continue with the GitLab pipeline and will add various properties like stages, artifacts and so in the CI/CD pipeline.
In this lecture, you’ll learn how to configure and run GitLab CI/CD jobs in the background. We’ll cover practical scenarios where background jobs are useful, show you how to set them up in your .gitlab-ci.yml file.
How to optimize a pipeline is explained in this class.
In this lecture, you’ll learn what GitLab Runners are, how they power your GitLab CI/CD pipelines, and key concepts. Understanding GitLab runners is crucial for managing scalable and efficient GitLab DevOps workflows, whether using shared runners, group runners, or self-hosted runners.
In this class we will discuss about the tags with runners and then will see what are shared runners and how to use them in GitLab pipeline.
In this lecture we will discuss few points that one should keep in mind before installing specific GitLab runner on their own infrastructure.
In this hands-on lecture, you’ll learn how to install and configure a GitLab Runner on your local machine. We’ll walk through each step — from installation to registration — and verify that the runner is ready to execute your GitLab CI/CD pipelines.
To get started with local runners, we’ll first build a simple Python application and write a Dockerfile to containerize it. This foundation will help you practice building, testing, and deploying apps through a local GitLab CI/CD pipeline using your self-hosted runner.
Continuing with the project, in this class we will start writing the GitLab pipeline for the Python project application.
In this demonstration, you’ll run your GitLab CI/CD pipeline using your local GitLab Runner and observe how each job executes step-by-step.
In this lecture, you’ll learn how to refine and enhance your existing GitLab CI/CD pipeline by making practical improvements to its .gitlab-ci.yml configuration.
In this lecture, you’ll learn the fundamentals of GitLab CI/CD variables — what they are, and why they are crucial for flexible and secure GitLab pipelines.
In this lecture, you’ll explore the built-in predefined variables provided by GitLab CI/CD. We’ll discuss how these variables automatically supply useful runtime information — such as project details, pipeline IDs, branch names, and more — to help you write smarter, more dynamic GitLab pipelines as part of your GitLab DevOps practices.
In this lecture, you’ll learn how to define and use custom variables in your GitLab CI CD pipeline. Through a hands-on example, we’ll demonstrate how to add custom key-value pairs to your .gitlab-ci.yml file and leverage them within jobs. This practical skill will make your GitLab DevOps workflows more flexible and maintainable.
There are situations in where you won't want to expose variables in a pipeline. In this lecture, you’ll learn how to securely manage sensitive information in your GitLab CI/CD pipelines by using secret variables. We’ll cover how to define and handle secrets — such as API keys, passwords, and tokens — without exposing them in your .gitlab-ci.yaml file. We’ll demonstrate this by logging in to your Docker Hub account without exposing your credentials in the pipeline.
In this class we will continue writing the GitLab pipeline and complete it with final steps to build and push a Docker image to Docker Hub using the credentials and login step you configured earlier.
In this video we will see what are the project requirements.
Project requirements being cleared, in this lecture we will list down the sequence of orchestrated tasks and will create a workflow that will give us a holistic view how the project requirements will get complete.
In this demonstration you will learn how to add SSH keys from Ubuntu into your GitLab account.
From this lecture we will put ourselves in developers’ shoes and will start building the project application. And in this lecture particularly, we will create and define model for the application.
In this lecture we will create the front-end for the Employee Portal Application with Python.
In this class we will write the logic for Employee Portal application and will run it on local.
From this lecture we will start building the GitLab CI/CD pipeline for the application. And in this class we will start off by first writing the test stage for the pipeline.
In this class also we will continue with the Lint Test and will run the pipeline to see the test results.
In this demo we will add smoke tests into the GitLab pipeline with the help of Pytest.
In this class we will add write the unit test cases for our project application.
In this video we will add the unit test case job in the GitLab CI/CD pipeline.
In this lecture we will write the Dockerfile and few others for the project application. This Dockerfile will help in building a Docker image for the Build stage in GitLab pipeline.
After writing the pre-requisite files for project, in this lecture we will make use of those files and will create an executable package from them. All this, we will automate from the Build stage in GitLab pipeline.
In this lecture we will continue with the build stage and will see how to push the project Docker image to GitLab Container Registry from GitLab CI pipeline.
In this lecture we will discuss the available deployment options to deploy our application.
In this class we will get introduced with Heroku platform, and will create an application on it.
In this class we will create the deploy stage in our pipeline that will help in automatically deploying the project application to a staging environment automatically.
Deploy application to a staging environment continued.
In this video we will add an automated test stage in the GitLab pipeline. This stage will decide whether to move the application from staging environment to production or not.
Complete a production deployment by revising staging on Heroku. Build your own GitLab CI/CD pipeline, avoid copying previous jobs, and handle image variables and secrets for production deployment.
We will continue the CI/CD pipeline and will add a stage that will deploy the application to a production environment automatically.
Deploy application to a production environment continued.
In this demonstration we will add a new feature into application and will see how the final pipeline carries that change starting from testing, building, and deployment to production environment.
This course requires you to download Docker Desktop from Docker's official website. If you are a Udemy Business user, please check with your employer before downloading software.
GitLab is a trending and the most admired tool to build CI CD pipelines for DevOps.
Since GitLab is a self-contained platform that supports the DevOps lifecycle, that is why it is getting traction in the CI/CD landscape from mass companies including the big ones. The demand of GitLab CI CD tool in real-time projects is growing exponentially and DevOps engineers, architects are preferring to use GitLab as a CI/CD tool over other available options in the market.
What's included in the course?
Complete GitLab CI/CD concepts explained from Scratch to ADVANCE with Real-Time implementation.
Concise crash course on Continuous Integration, Continuous Delivery, Continuous Deployment (CICD) and the DevOps concept.
Each and every GitLab CI CD concept is explained with HANDS-ON examples.
Includes each and every, even thin detail of GitLab CI/CD.
For every concept, first, we will cover its theoretical stuff, followed by their running example.
Learn the CI CD workflow, by deploying a complete Python website on to Heroku.
Technicalities
GitLab Basics - Git Commands, Setup GitLab account, GitLab CI/CD UI Tour, Docker, adding SSH keys.
GitLab Core concepts - Pipeline, Jobs, Stages, Artifacts, Custom and Secret Variables, Runners and many more.
How to build GitLab CI CD pipelines with Docker.
GitLab Advance Concepts - Optimizing the Pipeline, Keywords, Environments, Static & Dynamic environments, Teardown the environments etc.
Industry standard Real-time Python web application deployed automatically on Heroku with GitLab CI/CD pipeline.
After completing this course, you can start working on any real-time DevOps GitLab CI/CD project with full confidence.