We may earn an affiliate commission when you visit our partners.
Karan Gupta

"GitLab Mastery: From Novice to DevOps Expert"

This comprehensive GitLab course takes you on a journey from beginner to expert level, covering all aspects of GitLab's powerful DevOps platform. Whether you're new to version control or an experienced developer looking to enhance your skills, this course provides in-depth knowledge and hands-on experience with GitLab's extensive features and integrations.

Course Outline:

Read more

"GitLab Mastery: From Novice to DevOps Expert"

This comprehensive GitLab course takes you on a journey from beginner to expert level, covering all aspects of GitLab's powerful DevOps platform. Whether you're new to version control or an experienced developer looking to enhance your skills, this course provides in-depth knowledge and hands-on experience with GitLab's extensive features and integrations.

Course Outline:

  1. Introduction to GitLab

    • Version control basics

    • GitLab overview and architecture

  2. GitLab Fundamentals

    • Repository management

    • Branching and merging strategies

    • Code review process

  3. Continuous Integration and Continuous Deployment (CI/CD)

    • GitLab CI/CD pipeline configuration

    • Building, testing, and deploying applications

  4. GitLab DevOps Tools

    • Package Registry

    • Container Registry

    • Terraform state management

  5. Integrations and Advanced Features

    • AWS integration

    • Docker and DockerHub

    • Kubernetes and EKS

    • Terraform

    • Ansible

    • SonarQube for code quality analysis

  6. Collaboration and Project Management

    • Jira integration

    • Confluence integration

    • Telegram integration for notifications

  7. Security and Compliance

    • GitLab security features

    • Implementing secure DevOps practices

  8. GitLab Administration and Optimization

    • Instance management

    • Performance tuning

    • Scaling GitLab for enterprise use

Benefits of Taking This Course:

  1. Comprehensive skill development: Gain expertise in GitLab's full suite of tools and features, from basic version control to advanced DevOps practices.

  2. Enhanced career prospects: DevOps skills are in high demand, and GitLab proficiency can open doors to new job opportunities and career advancement.

  3. Improved workflow efficiency: Learn best practices for streamlining development processes, reducing time-to-market, and increasing productivity.

  4. Hands-on experience: Practice with real-world scenarios and integrate GitLab with popular tools and platforms used in modern software development.

  5. Better collaboration: Master GitLab's features for team collaboration, project management, and communication.

  6. Security focus: Learn to implement secure DevOps practices, ensuring your projects meet industry standards for security and compliance.

  7. Scalable knowledge: Apply GitLab skills to projects of any size, from personal repositories to enterprise-level implementations.

  8. Continuous learning: Stay updated with the latest DevOps trends and technologies through GitLab's evolving ecosystem.

By the end of this course, you'll have the skills and confidence to leverage GitLab's powerful features in your development workflow, implement efficient CI/CD pipelines, and contribute to a modern DevOps environment.

Enroll now

What's inside

Learning objectives

  • Master gitlab from basics to advanced features
  • Set up and manage gitlab repositories efficiently
  • Implement effective branching and merging strategies
  • Configure and optimize gitlab ci/cd pipelines
  • Utilize gitlab's package registry and container registry
  • Integrate gitlab with cloud services like aws and kubernetes (eks)
  • Leverage gitlab's terraform integration for infrastructure as code
  • Implement automated testing and code quality checks with sonarqube
  • Use gitlab with docker and dockerhub for containerized workflows
  • Integrate gitlab with ansible for configuration management
  • Manage terraform states within gitlab
  • Connect gitlab with jira and confluence for seamless project management
  • Set up telegram notifications for gitlab events
  • Implement security best practices in gitlab workflows
  • Administer and optimize gitlab for performance and scalability
  • Apply gitlab's features to real-world development scenarios
  • Collaborate effectively using gitlab's team-oriented tools
  • Show more
  • Show less

Syllabus

Course Overview
Course Introduction
Connect With Me!!
GitLab Journey
Read more
Content
Capstone Project
Introduction
GitLab Overview
GitLab CI/CD
Relation of GitLab with Automation
Need, Benefits and Alternatives of GitLab
GitLab UI & Basics
GitLab Account Creation
UI tour
Git Refresher
Adding Files into Gitlab - Server
Adding Files into Gitlab - Web IDE
Adding Files into Gitlab - Console
Moving from GitHub to GitLab
GitLab CI/CD - Pipeline
Pipeline
Understanding Pipeline File
Docker Refresher
Pipeline Basics
Pipeline Editor
Pipeline Editor - Hands-On
Multi-Jobs Pipeline
Troubleshooting Job Failing in Multi-Job Pipeline
Job Timeout
Dependency in Pipeline
Understanding Stages
Stages Hands-On
Multiple Jobs in Stages
Understanding Needs
Needs Hands-On
Stages & Needs - Checkpoint
Understanding Job Components
Job Script Components Hands-On
Linux Commands in Pipeline
Executing External Script in Pipeline
Multi-Line Linux Commands in Pipeline
Comments in Pipeline
Artifacts & Variables in Pipeline
Understanding Artifacts
Artifacts in Pipeline
Pipeline Variable Hands-On
Project Variable Hands-On
Built-In Variable Hands-On
File Variable Hands -On
Dynamic Variable Hands-On
Skipping Jobs Hands-On
Manual Trigger Hands-On
Centralised Management in Pipeline
Understanding Rules & Only
Rules & Only Hands-On
Workflow Keyword Hands-On
Understanding Merge Request
Merge Request in Pipeline
Images Hands-On
Downloading Package in Pipeline
Matrix / Loop Hands-On
Understanding Scheduling Pipeline
Schedule Pipeline
Handling Job Failure
Multi-project
Multi-project Hands-On
Gitlab Runners
Understanding Runners
Understanding Executors
Disabling Shared Runner
Self-Managed Runner on Cloud (Shell)
Self-Managed Runner on MacOS
Self-Managed Runner on Windows
Self-Managed Runner on Cloud (Docker)
Changing Docker Image for Self-Managed Runner
Multiple Executor on Same Runner
Runners Summary
Industry Tools, Security & GitLab Pipeline Usage
Integrations
Runner Set-Up for different Tools
How code came on EC2 server (Optional for Clarity)
How code came on EC2 server HandsOn (Optional for Clarity)
Maven Refresher
Pipeline using Build Tool - Maven
Publishing Junit Test Cases
GitLab Package Registry
GitLab Package Registry Hands-On
Building Docker Images using Pipeline
DockerHub Refresher
Pushing Image to DockerHub
GitLab Container Registry
GitLab Container Registry Hands-On
Using AWS CLI commands in Pipeline
Pushing Image to ECR
Sonarqube Refresher
Sonarqube Set-Up
Pipeline using Sonarqube Analysis
SAST
SAST Hands-On for New Project

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers GitLab's extensive features and integrations, which are essential for modern DevOps practices and streamlining development processes
Teaches skills that are in high demand, which can open doors to new job opportunities and career advancement in the DevOps field
Explores integrations with popular tools like Docker, Kubernetes, AWS, and SonarQube, which are widely used in modern software development environments
Includes hands-on experience with real-world scenarios, which allows learners to integrate GitLab with popular tools and platforms
Requires learners to set up self-managed runners, which may require familiarity with cloud platforms and system administration
Focuses on integrating GitLab with tools like Jira and Confluence, which may not be relevant for learners who do not use these specific tools

Save this course

Save GitLab CI/CD Bootcamp| Zero to Hero| Certification Prep 2024 to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in GitLab CI/CD Bootcamp| Zero to Hero| Certification Prep 2024 with these activities:
Review Git Fundamentals
Solidify your understanding of Git, the underlying version control system used by GitLab, to better grasp repository management and branching strategies.
Browse courses on Git
Show steps
  • Review basic Git commands like clone, add, commit, push, and pull.
  • Practice branching and merging workflows in a local repository.
  • Explore Git documentation and online tutorials for deeper understanding.
Read 'The DevOps Handbook'
Gain a broader understanding of DevOps principles to better appreciate GitLab's role in enabling CI/CD and automation.
Show steps
  • Read the book, focusing on sections related to CI/CD and automation.
  • Take notes on key concepts and how they relate to GitLab features.
  • Reflect on how the principles discussed can be applied in real-world projects.
Configure CI/CD pipelines for sample projects
Reinforce your understanding of GitLab CI/CD by creating pipelines for various sample projects with different requirements.
Show steps
  • Set up a GitLab repository for a simple application (e.g., a 'Hello, World!' program).
  • Create a `.gitlab-ci.yml` file to define a basic CI/CD pipeline.
  • Add stages for building, testing, and deploying the application.
  • Experiment with different pipeline configurations and triggers.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Document a CI/CD pipeline
Solidify your understanding of CI/CD pipelines by documenting the purpose, structure, and configuration of a pipeline you have created.
Show steps
  • Choose a CI/CD pipeline you have created in GitLab.
  • Describe the purpose of the pipeline and the application it supports.
  • Explain the different stages and jobs in the pipeline.
  • Document the configuration of the `.gitlab-ci.yml` file.
Automate infrastructure deployment with Terraform and GitLab CI/CD
Apply your knowledge of GitLab CI/CD and Terraform to automate the deployment of infrastructure resources.
Show steps
  • Set up a GitLab repository for your Terraform configuration files.
  • Create a `.gitlab-ci.yml` file to define a CI/CD pipeline for Terraform.
  • Add stages for validating, planning, and applying Terraform changes.
  • Configure GitLab to store Terraform state securely.
Read 'Continuous Delivery'
Deepen your understanding of continuous delivery principles to optimize your GitLab CI/CD pipelines.
View Melania on Amazon
Show steps
  • Read the book, focusing on sections related to build, test, and deployment automation.
  • Take notes on key concepts and how they relate to GitLab CI/CD features.
  • Reflect on how the principles discussed can be applied in real-world projects.
Contribute to GitLab CI/CD documentation
Improve your understanding of GitLab CI/CD by contributing to the official documentation.
Show steps
  • Identify areas in the GitLab CI/CD documentation that could be improved.
  • Fork the GitLab documentation repository.
  • Make your changes and submit a merge request.

Career center

Learners who complete GitLab CI/CD Bootcamp| Zero to Hero| Certification Prep 2024 will develop knowledge and skills that may be useful to these careers:
DevOps Engineer
A DevOps Engineer is responsible for bridging the gap between software development and IT operations, focusing on automating and streamlining processes. This course is directly applicable to this role, as it provides comprehensive knowledge of GitLab, a key tool in modern DevOps workflows. The course covers essential topics such as CI/CD pipeline configuration, container registry, and integrations with other tools, all of which are vital for a DevOps Engineer. Understanding how to implement secure DevOps practices, manage infrastructure as code using Terraform, and integrate various collaboration tools, as taught in this course, will significantly enhance the capabilities of a DevOps Engineer working to improve workflows.
CI/CD Engineer
A Continuous Integration and Continuous Deployment Engineer specializes in building and maintaining automated pipelines for software delivery. Because this course is heavily focused on GitLab CI/CD, it helps provide the skills necessary to succeed in this role. The course content includes hands-on experience with configuring pipelines, managing artifacts, and using various tools for building, testing, and deploying applications. This curriculum will allow a CI CD Engineer to design and maintain robust and efficient deployment pipelines. A CI CD Engineer interested in GitLab will gain the specific skills they need through this course.
Release Manager
A Release Manager oversees the planning, scheduling, and execution of software releases. This course aids in this role by deepening the understanding of how to establish and operate CI/CD pipelines using GitLab. The course's focus on practical skills, such as managing branching and merging strategies, using container registries, and integrating with project management tools, provides valuable insight for a release manager. A deeper understanding of GitLab CI/CD processes, gained from this course, allows a Release Manager to better coordinate the delivery of new software releases, and understand the technology behind them.
Software Configuration Manager
A Software Configuration Manager is responsible for maintaining the integrity of software configuration items. This course will be considerably helpful for a Software Configuration Manager as it offers in-depth knowledge of GitLab's version control, repository management, and CI/CD capabilities. The course covers branching, merging strategies, and how to implement automated testing, all of which are essential to maintaining a controlled environment. By taking this course, a Software Configuration Manager can strengthen their ability to handle configurations and ensure effective change control within their software development lifecycle.
Automation Engineer
An Automation Engineer focuses on automating processes to improve efficiency and reduce manual tasks. This course helps build a foundation for this role by providing direct experience with GitLab's automation capabilities. The curriculum emphasizes topics such as GitLab CI/CD pipeline configuration, integration with tools like Ansible and Terraform, and practical exercises that assist in building automation workflows. An Automation Engineer who takes this course can enhance their skills in creating efficient and scalable automated systems, leveraging GitLab’s extensive features.
Platform Engineer
A Platform Engineer designs, builds, and maintains underlying systems and infrastructure for software applications. This course will assist someone in a Platform Engineer role by providing an understanding of how to leverage GitLab for infrastructure as code (IaC) using Terraform, as well as knowledge of container registries and orchestration with Kubernetes. They will also enhance their knowledge of CI/CD pipelines for deploying infrastructure. The content of this course, such as its discussion of AWS integration, Docker, and Kubernetes, allow a Platform Engineer to create and manage robust and scalable platforms.
Site Reliability Engineer
A Site Reliability Engineer focuses on ensuring the reliability, performance, and scalability of software systems. This course may be helpful for an SRE, as it provides knowledge of how to utilize GitLab's CI/CD pipelines, security features, and integration capabilities to automate many of the mundane tasks they may encounter. The course’s coverage of topics including performance tuning, instance management, and secure DevOps practices, allows a Site Reliability Engineer to develop strategies to enhance the reliability of their systems and manage infrastructure more efficiently. This course may provide further depth to an SRE's understanding.
Build Engineer
A Build Engineer is responsible for creating and maintaining the build systems for software projects. This course may help a Build Engineer, as it provides a thorough understanding of GitLab's CI/CD capabilities, which are vital for managing build processes. The course covers pipeline configuration, artifact management, and integration with testing tools which are directly applicable to this role. A Build Engineer looking to improve their workflow, especially within the GitLab ecosystem, will benefit from the skills taught in this course.
Infrastructure Engineer
An Infrastructure Engineer is responsible for managing and maintaining an organization's IT infrastructure. This course may be useful for an Infrastructure Engineer, as it offers hands-on experience with GitLab's infrastructure as code (IaC) capabilities using Terraform, as well as its integration with cloud services. The course delves into topics such as container registries, Kubernetes, and AWS integration. This course may help the Infrastructure Engineer expand their overall toolset, especially if GitLab is a tool used within their organization.
Software Developer
A Software Developer writes, tests, and debugs code to create software applications. This course may serve as a supplementary resource for Software Developers, as it provides a strong understanding of DevOps practices, which complements their core development duties. Developers will find its modules on version control, automated testing, and continuous integration to be useful. While not a primary focus, the course’s material can help a Software Developer better participate, and even lead, in DevOps workflows.
System Administrator
A System Administrator manages and maintains the computer systems and networks of an organization. This course may be useful for a System Administrator, particularly if the organization uses GitLab. The course includes modules on instance management, performance tuning, and security practices in GitLab. These skills can help a System Administrator improve the efficiency and security of their operations within a GitLab environment.
Technical Project Manager
A Technical Project Manager oversees technology-related projects, ensuring they are completed on time and within budget. This course may be of some use to a Technical Project Manager, as its focus on GitLab’s project management features and integrations with tools like Jira and Confluence can improve their workflow. Gaining hands-on experience with GitLab’s structure will allow project managers to better coordinate and communicate among teams. This course may be helpful for project managers that work or manage teams in areas that use GitLab.
Solutions Architect
A Solutions Architect designs and oversees the implementation of software solutions, while ensuring they align with business needs. This course may be of interest to a Solutions Architect, because it provides an understanding of how GitLab's various features can support effective CI/CD pipelines. The course's content on integrations, security, and compliance may help a Solutions Architect design robust systems. This course may supplement an architect's existing knowledge of software design and implementation.
Quality Assurance Engineer
A Quality Assurance Engineer is responsible for testing to ensure software quality, and this course may be helpful to a QA Engineer as it covers automated testing with SonarQube, and emphasizes secure DevOps practices. This course will provide insight into how automated testing workflows are built with CI/CD pipelines. Because of that, it may deepen a QA Engineer's understanding of software testing within a DevOps context. This course may be useful, but it not directly applicable to the role.
Technical Writer
A Technical Writer creates documentation for software and technical processes. While this course doesn't directly focus on writing, it may provide a Technical Writer with a better understanding of the software development lifecycle, especially in regards to DevOps. By having detailed experience on the GitLab platform, they can better write documentation, guides, or tutorials for this software. This course may be valuable for a Technical Writer who works in the software development space.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in GitLab CI/CD Bootcamp| Zero to Hero| Certification Prep 2024.
Provides a comprehensive overview of DevOps principles and practices, offering valuable context for understanding GitLab's role in the DevOps lifecycle. It covers topics such as continuous integration, continuous delivery, and automation, which are central to the course. Reading this book will help you understand the 'why' behind the 'how' of GitLab CI/CD. It is commonly used as a reference by industry professionals.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser