Gitlab CI: Pipelines, CI/CD and DevOps for Beginners
A lot of courses promise you will become an expert. Becoming an expert in any tool comes with time and hard work. It simply does not make sense to promise something like that. It will not be honest. What I will try is to explain to you the basics and offer you enough practice opportunities so that you can apply what you learn easily in your own projects as well. I will show you how to build pipelines with Gitlab CI.
More
This course will teach you how to use Gitlab CI for your own projects. You will learn the basics of CI/CD and start building pipelines right from the first lecture.
Some highlights:
- have an overview of the Gitlab architecture
- create a simple pipeline
- learn the CI/CD practice by deploying a simple website
- use Docker images within Gitlab
Requirements:
- Basic experience with Linux, Linux commands and using the terminal
- Know how to work with Git (basics like configuring a repository locally, cloning, merge, commit, push)
- Admin permissions that allow you to install additional tools (Node, npm, Docker, Virtualbox)
- Optional: some basic experience with Docker will be a bonus
- Software developers learning to build pipelines in order to test & deploy code
- IT Professionals: Developers, Software Engineers, Application Architects, Infrastructure Architects, and Operations
What you'll learn:
- What is a pipeline
- What is Continuous Integration (CI), Continuous Delivery (CD) and Continuous Deployment (CD)
- Automate your build, test & deployment with Gitlab CI
- Learn industry "best practices" in building CI/CD pipelines
- Demonstrate your understanding of building CI/CD pipelines to future employers
- Automate your builds, tests, and deployments
- Automatic deployments using AWS
- Build pipelines with code quality checks, unit tests, API testing
- Solve problems with hands-on assignments
- Create Merge Requests and review code
- Dynamic environments
Watch Online Gitlab CI: Pipelines, CI/CD and DevOps for Beginners
# | Title | Duration |
---|---|---|
1 | Your first pipeline | 21:41 |
2 | Gitlab architecture | 05:08 |
3 | Why GitLab CI? | 02:11 |
4 | How much does Gitlab cost? | 02:57 |
5 | About the course | 02:05 |
6 | Important skills you need to acquire | 03:11 |
7 | Overview | 00:28 |
8 | What is CI / CD? | 08:09 |
9 | Short introduction to Node.js | 01:52 |
10 | Creating a new project | 05:09 |
11 | Building the project locally | 02:35 |
12 | Short introduction to images and Docker | 04:02 |
13 | Building the project using Gitlab CI | 10:59 |
14 | Adding a test stage | 06:24 |
15 | Running jobs in parallel | 05:42 |
16 | Running jobs in the background | 08:10 |
17 | Deployment using surge.sh | 02:51 |
18 | Using Environment variables for managing secrets | 03:34 |
19 | Deploying the project using Gitlab CI | 05:00 |
20 | How does Surge.sh know the environment variables? | 02:57 |
21 | Overview | 02:09 |
22 | Predefined environment variables | 07:43 |
23 | Pipeline triggers / Retrying failed jobs / Pipeline schedules | 02:51 |
24 | Using caches to optimize the build speed | 10:02 |
25 | Cache vs Artifacts | 01:53 |
26 | Deployment Environments | 07:44 |
27 | Defining variables | 05:35 |
28 | Manual deployments / Manually triggering jobs | 06:03 |
29 | Merge requests - Using branches | 05:26 |
30 | Merge requests - Configuring Gitlab | 01:50 |
31 | Merge requests - Your first merge request | 06:20 |
32 | Dynamic environments | 06:42 |
33 | Destroying environments (Clean-up after the Merge Request) | 09:06 |
34 | before_script & after_script configuration | 03:24 |
35 | Recap & conclusion | 01:59 |
36 | Overview | 00:54 |
37 | Understanding YAML | 06:41 |
38 | Disabling jobs | 01:07 |
39 | Anchors | 05:21 |
40 | Creating job templates | 08:45 |
41 | Overview | 01:59 |
42 | Introduction to the Java application | 04:15 |
43 | Calling an API with Postman | 02:45 |
44 | Continuous Integration (CI) pipeline overview | 00:47 |
45 | Build stage: Building a Java application locally | 03:20 |
46 | Build stage: Building a Java application with Gitlab CI | 03:03 |
47 | Test stage: Adding a smoke test | 06:28 |
48 | CI/CD pipeline recap | 02:11 |
49 | Brief introduction to Amazon Web Services (AWS) | 03:50 |
50 | Serverless computing with AWS Elastic Beanstalk | 01:29 |
51 | How to deploy to AWS (manual upload) | 04:02 |
52 | How to deploy to AWS from GitLab CI | 01:57 |
53 | Getting started with AWS S3 | 02:12 |
54 | GitLab Group settings | 01:03 |
55 | How to upload a file to AWS S3 from GitLab CI | 07:53 |
56 | How to deploy a Java application to AWS Elastic Beanstalk using the AWS CLI | 07:44 |
57 | Assignment | 00:24 |
58 | Assignment solution | 03:19 |
59 | Create an application version | 03:57 |
60 | Verify the application version after deployment | 05:33 |
61 | Revisiting the CI pipeline | 00:52 |
62 | Ensuring coding standards with tools for codestyle checking with PMD | 04:12 |
63 | Assignment - Add code quality stage with PMD | 00:26 |
64 | Assignment solution - Add code quality stage with PMD | 03:11 |
65 | Quick introduction to unit testing in CI pipelines | 04:33 |
66 | Unit test stage: Run JUnit tests with GitLab CI | 03:58 |
67 | How to structure a CI/CD pipeline in GitLab CI? | 02:02 |
68 | API test stage: Run Postman API tests in GitLab CI | 10:48 |
69 | GitLab Pages (for publishing HTML reports or dashboards) | 03:46 |