
Master this course to automate workflows with GitLab CI/CD pipelines, learn jobs and runners, and build and test in Node.js projects, including Angular and NX monorepos, across language-agnostic sections.
Master the core skills of the course by exploring artifacts, caching, rules, and environments in a language-agnostic approach, and follow along with a white-labeled project to reinforce each concept.
Master GitLab pipelines automate tests and deployments via CI/CD, define jobs and stages in a .gitlab-ci.yml, and learn about docker and shell runners.
Attach a JUnit XML artifact under reports JUnit to reveal a live test summary in the pipeline, showing run results and failures alongside test details.
Create a deploy stage in a GitLab CI/CD pipeline, deploying after build and test. Secure credentials with CI/CD variables, including protected and masked options, and manage artifacts for deployment.
Learn to configure rules to run deployments only on specific events, using if/then ci, tags, commits, and main branch conditions.
Configure the default step in GitLab CI to share a default image across jobs, then securely pass secrets via CI/CD variables by writing them to credentials.txt in a before_script.
Create an install dependencies stage that runs only when package-lock.json changes to improve pipeline performance. Explore managing stages, caching, manual deploy actions, hidden jobs, and only paths using YAML.
Register a macOS shell runner in GitLab by navigating to settings ci cd and installing the platform-specific runner script. Verify the runner and use the macOS tag for deployment.
Explore GitLab templates and include local deployment to reuse steps across projects, using inputs and archive name to generate environment-specific artifacts and enable white-label deployments.
Master modular ci/cd pipelines through inversion of control, using a single template for all apps, with templates, separate runners, artifact handling, and deployment rules.
Learn to define environment variables with the variables keyword, create dynamic environments in GitLab CI using deployment.yaml, and configure per-application environments with input-based names and URLs for production.
Demonstrates publishing a book with GitLab pipelines by compiling markdown chapters into pdf and epub using Pandoc, and sharing artifacts from a simple build job.
Explore pattern matching in GitLab CI rules by using the CI commit message variable with regex tilde and ignore case to trigger deploys automatically.
Group environments in GitLab pipelines by using environment tags with the environment key and names, creating production and development deployments for multiple apps, and sharing the same deployment workflow.
Explore a real-world ci/cd pipeline example, using templates, to build a functional ci/cd workflow for a white-labeled application.
Demonstrates applying GitLab pipelines to a monorepo Angular project with NX, including white labeling across apps, dependency installation, and building static bundles for deployment.
Explains how to set up a minimal GitLab CI pipeline with node modules caching and artifacts, showing branch-aware caching and how to download build artifacts.
Deploy your application using sftp and ssh within a GitLab pipeline by configuring ssh keys, variables, and a dedicated deploy stage to transfer files and run remote commands.
Learn to deploy an application using sftp and ssh in a GitLab CI/CD pipeline, packaging with tar.gz, configuring permissions and host key verification, and deploying via batch-file to /opt/application.
Deploy the application via SFTP and SSH in GitLab pipelines, optimize with node modules caching and deployment files, and learn about host verification and group variables.
Learn to create a GitLab CI template to simplify whitelabeling for multiple customers by parameterizing build and deploy steps with spec inputs, including app name and artifacts.
Demonstrate templated GitLab pipelines to whitelabel angular apps, deploying multiple customers from a shared codebase with per-app configs and include templates.
Register and extend GitLab pipelines by configuring custom environments for each customer, including deploy steps, environment URLs, and on stop teardown with manual stop jobs.
Explore dynamic pattern matching rules in GitLab pipelines to control deployments, triggering releases only on specific commit messages or tags, and manage environment variables and artifacts across jobs.
Master dynamic pattern matching in GitLab pipelines by debugging regex, environment variables, and bash conditions; explore release rules, deploying via manual actions, and using artifacts and test reports.
Attach junit xml test artifacts to GitLab CI/CD, view test results in the web UI, and be notified on merge requests when changes break the CI.
Welcome to the Ultimate GitLab Pipeline Course!
Whether you're new to CI/CD or have some experience, this course is designed to guide you step by step through mastering GitLab pipelines. Alexander and I will lead you through the intricacies of creating, managing, and optimizing pipelines tailored to your development needs.
Are you ready to dive deep into GitLab pipelines and learn how to automate and optimize your CI/CD workflows?
Do you want to uncover the secrets behind effective pipeline management and build processes within GitLab?
Are you interested in learning how to securely manage secrets, deploy applications, and streamline your CI/CD pipeline using templates?
Or perhaps you're aiming to become proficient in setting up modular and dynamic pipelines that support scalable deployments.
If any of these resonate with you, this course is perfect for you.
____________________________________________________________________________________
In this comprehensive GitLab pipeline course, you’ll gain all the skills necessary to elevate your pipeline expertise. From creating basic pipelines to mastering complex scenarios involving dynamic rules and environments, we will cover everything in detail.
1. Introduction
We will begin by welcoming you to the course and providing a brief overview of what to expect. You’ll also receive valuable tips on how to approach the lessons to make the most of your learning experience.
2. Pipeline Skills (Language Agnostic)
In this section, we will introduce the core pipeline concepts that apply to any programming language. You will learn how to set up your first pipeline job and make it report test results. We will also cover managing caching and publishing build artifacts. Additionally, you will discover how to define rules to ensure jobs only run under specific conditions. The section also includes handling CI/CD variables to securely pass secrets through the pipeline, protecting sensitive information, and registering a GitLab runner on your local machine. You will further explore the creation of modular pipelines, using templates to promote deployment steps, and implementing inversion of control to standardize templates across applications. We will guide you through setting up and managing environments via pipelines, demonstrate the use of GitLab pipelines to publish a book, and explain how to match commit messages with specific patterns. Finally, you will learn how to group environments to enhance deployment management.
3. Hands-on: Building a White-labeled App CI/CD Pipeline
This section takes a practical approach, walking you through the creation of a CI/CD pipeline for a white-labeled application. We will begin by presenting the project and introducing the initial steps of the pipeline. You will then deploy the application using SFTP and SSH, explained over three detailed steps. Next, we will simplify the white-labeling process by leveraging templates, which will be demonstrated in two parts. You will also learn how to dynamically register and tear down environments as needed. Furthermore, we will explore the use of dynamic pattern matching rules and demonstrate their application in two stages. Lastly, we will show you how to present the test results in GitLab’s web interface using artifacts.
4. End of the Course
As the course concludes, we will provide a final message to acknowledge your completion of the course and leave you with one last piece of valuable information. By this point, you will be fully equipped to apply everything you have learned about GitLab pipelines and confidently implement these skills in your own projects.
____________________________________________________________________________________
By the end of this course, you will have mastered GitLab pipelines, from basic setup to advanced configurations, and will be able to manage complex deployment workflows with confidence.
We are excited to have you on this journey with us and look forward to seeing what you will achieve with your newfound skills.
Thank you for your trust & best regards,
Alexander & Sascha