Learn GitLab CI / CD with Docker & DevOps: obtain valuable DevOps skills. Build pipelines.

Summary

This course is designed to introduce beginners to the concepts and practical applications of Continuous Integration (CI) and Continuous Deployment (CD) using GitLab CI. By learning how to automate build, test, and deployment processes, participants will be able to streamline software development workflows, making them more efficient and reliable. The course offers a hands-on approach, focusing on real-world examples and practical implementations.

Course Prerequisites and Requirements

To enroll in this course, participants need a GitLab.com account (the free plan is sufficient), basic experience with Linux commands and terminal usage, and familiarity with Git (e.g., configuring a repository locally, cloning, merging, committing, and pushing changes). Participants also need admin permissions to install essential tools such as Node.js, npm, Docker, and VirtualBox. The course assumes you already have some technical knowledge and experience with these tools, but it is aimed at beginners who want to learn about CI/CD and automation.

What is a Pipeline?

In the context of software development, a pipeline is an automated sequence of steps designed to build, test, and deploy code changes. Pipelines help ensure that code is always in a deployable state, by automatically running tests and building applications after each change is made. By automating these processes, development teams can release software faster and more reliably.

Key Topics Covered in the Course

  1. Overview of GitLab Architecture: The course starts with an introduction to GitLab’s architecture. Participants will learn about the various components of GitLab CI and how it fits into a modern software development workflow. Understanding GitLab’s role in automating CI/CD processes is crucial for building effective pipelines.
  2. Creating Simple Pipelines: The first practical task in the course involves creating a basic pipeline. This helps students familiarize themselves with GitLab CI’s interface and configuration syntax. Participants will learn how to set up jobs that automate the build, test, and deployment stages.
  3. Understanding CI/CD Practices: Participants will explore key CI/CD practices, such as continuous testing and deployment, and how these practices ensure that software is consistently built and delivered in a reliable manner. One key element of this practice is deploying a simple website through the pipeline, which demonstrates how automation can improve efficiency.
  4. Using Docker with GitLab: A significant part of the course focuses on integrating Docker within the GitLab CI pipeline. Docker is a platform that allows developers to package applications and their dependencies into containers. By using Docker images in GitLab CI, participants can create isolated environments for testing and deployment, ensuring consistency across different stages of development.
  5. Deploying Java Applications to AWS: The course covers advanced deployment techniques, including deploying a Java application to Amazon Web Services (AWS). Using AWS services such as S3 (Simple Storage Service) and Elastic Beanstalk, participants will learn how to automate deployment to the cloud. This is a critical skill in modern software development, as cloud-based deployment is widely adopted in the industry.
  6. Limitations of the Course: It’s important to note that this course does not aim to make participants GitLab CI or DevOps experts. Rather, the course is designed for those who are new to CI/CD pipelines. Building effective pipelines is a gradual process of trial and error, and mastering these tools takes time and experience. The course provides a solid foundation, giving students the confidence to apply what they’ve learned in their own projects.

Practical Benefits for Learners

By the end of the course, participants will have a strong understanding of how to create and manage pipelines using GitLab CI. They will have gained practical experience in setting up automation processes for build, test, and deployment workflows, which are highly valued by employers in the software development and IT fields.

Additionally, by deploying applications using AWS, participants will gain hands-on knowledge of cloud-based deployment, a skill that is increasingly sought after as more organizations move their infrastructure to the cloud. This knowledge can help learners stand out in job interviews and demonstrate their ability to work with modern development practices and tools.

Who Should Take This Course?

This course is ideal for:

  • Software Developers: Developers who want to automate their build, test, and deployment processes and integrate CI/CD into their workflows.
  • IT Professionals: Software engineers, developers, application architects, infrastructure architects, and operations professionals who need to build, manage, and deploy pipelines using GitLab CI.

While the course is aimed at beginners, it is also suitable for intermediate-level professionals who want to solidify their understanding of CI/CD and GitLab. However, it is important to understand that it will not turn participants into experts overnight but will provide a strong foundation for further learning.

What you’ll learn

  • What is a pipeline
  • Automate your build, test & deployment with Gitlab CI
  • Demonstrate your understanding of building CI/CD pipelines to future employers
  • Automatic deployments using AWS
Requirements
  • GitLab .com account (the free plan works very well)
  • 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)

Description

his course is neither endorsed by, nor in partnership, nor affiliated with GitLab, Inc.

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

– learn how to deploy a Java application to AWS, using AWS S3 and AWS Elastic Beanstalk.

This course will NOT make you a GitLab CI / DevOps expert

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.

This is a course designed for beginners. Learning to build pipelines is a try-and-error process that can be very frustrating. You need to understand the tools you use and how GitLab can support your needs. In the end, GitLab is just a tool.

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.

Who this course is for:

  • Software developers learning to build pipelines in order to test & deploy code
  • IT Professionals: Developers, Software Engineers, Application Architects, Infrastructure Architects, and Operations

 

 

 

GET FREE COURSE