Mastering CI/CD with GitLab: Automate Your Software Delivery
- Description
- Curriculum
- FAQ
- Reviews
This course provides an in-depth understanding of various topics around CICD for you to develop efficient pipelines for their projects. The course starts with basics about CICD and then covers topics that are needed for typical industrial applications. Many of the jobs explained here can be simply copy-pasted to your projects to serve the purpose, for other jobs you will be expert enough to implement them yourself with the understanding of various concepts for creating jobs. The related code will be available for your reference.
Industrial examples are covered so that you will get an introduction to typical CICD jobs and their relevance in making projects stable and deployments or delivery fast. You should try out these examples in order to truly master it.
My policy is to make things simple and always have simple examples on each topic for a quick understanding of the concept and then build on top of it as we progress. CICD is a blessing when it comes to ensuring code stability, I will be covering how to set up tests such that this code stability is achieved. There are a lot of videos on YouTube as well on topics covered here, but most likely you will be on top of it by the time you have gone through this tutorial.
Every developer should master CICD, not only DevOps engineers so that everyone can contribute to code stability, quality of code, automating any repetitive jobs, and delivering in an agile fashion. There is a learning curve involved in understanding how to set up decent CICD for a complex project and this tutorial is intended to make this learning easier. Learn the best practices and apply them in your projects, it will help your organization and yourself in moving to the next level of development and delivery.
For further exploration of features, you can refer to the official documentation of GitLab. I will be covering how I typically start implementing a new challenging CICD job, avoiding complicated scripts as complicated jobs are hard to read and hard in maintaining as well, eventually leading to the removal of that job, wasting time and effort. Simple jobs are the key to maintainable configuration files.
Towards the end of tutorial, there is a case study of Yolov3 based face detection in GitLab with CICD. It will help in understanding real world CICD requirements.
-
1IntroductionVideo lesson
-
2What is SDLC?Video lesson
Introduction to Software Development Life Cycle.
-
3Waterfall and Agile SDLC ModelsVideo lesson
Familiarizing different methodologies of SDLC
-
4What is CICD?Video lesson
Intro to CICD concept
-
5Gitlab or Github?Video lesson
Comparison of GitLab and GitHub
-
6SDLCQuiz
-
7GitLab account creationVideo lesson
Creating an account in GitLab and about CICD feature enabling
-
8Creating a sample project from scratchVideo lesson
GitLab repo creation in browser
-
9Creating a simple CICD from scratchVideo lesson
-
10Lint, run and deploy demo jobs introVideo lesson
Intro into jobs that we are going to do hands-on in next video
-
11CICD configuration creation from scratchVideo lesson
Hands-on on cicd job creation and familiarizing pipelines, jobs, artifacts, cache, script, before script, after script
-
12CICD JobsQuiz
-
13Download runner applicationVideo lesson
For installing GitLab runner on your machine, first download the runner application
-
14Install GitLab Runner in your machine!Video lesson
Walk through on runner installation steps
-
15Run a job in self hosted runnerVideo lesson
How to run a job in self hosted runner, tag concept
-
16When should we opt for self hosted runner?Video lesson
Use cases of self hosted runner
-
17Install runner in your machine and run a cicd job that prints 'hello world!'Text lesson
-
18Anchors, extends, include, reference tagsVideo lesson
Optimizing GitLab CICD configuration file and related concepts in detail
-
19Hands-on on yaml optimisation- anchors and extendsVideo lesson
Configuration optimization hands-on
-
20Hands-on of include and reference tagsVideo lesson
More optimization concepts
-
21Optimising the given configurationQuiz
-
22Introduction to Linting, Unit test and End to End testVideo lesson
Understanding some of the standard jobs needed for any project
-
23Coding up Linting, Unit test and End to End test jobsVideo lesson
Hands-on of typical CICD jobs
-
24Create a GitLab repo with a lint and unittest CICD jobsText lesson
-
25What is Downstream pipeline? What is parent-child pipeline?Video lesson
Intro to downstream pipelines and parent-child pipeline (Type-1)
-
26Trigger Keyword UnderstandingVideo lesson
Understanding trigger keyword that enables downstream pipelines
-
27Hands-on on Parent-Child PipelineVideo lesson
Creating a parent-child pipeline in detail
-
28Multi-Project PipelineVideo lesson
Type-2 of downstream pipelines
-
29Multi-Project Pipelines Hands-onVideo lesson
multi Project pipeline hands-on in detail
-
30Create a multi project pipeline and trigger trigger cicd from one to otherText lesson
-
31Conclusion of tutorialVideo lesson
Tutorial conclusion

External Links May Contain Affiliate Links read more