Protected environments done right
Approvals, deployment freezes and OIDC for AWS gave us a clean production process.
Browse
Write clear .gitlab-ci.yml pipelines with rules, needs and caching, run your own runners, and deploy to protected environments with approvals and OIDC
Created by Rahul Menon
GitLab includes CI/CD in the same place as your code, issues and merge requests, which makes it a natural choice for many teams. Its pipeline syntax is powerful and, without some discipline, easy to turn into a tangle of copy pasted YAML. This course teaches you to build pipelines that stay fast and readable as projects grow.
Starting from a sample web service, you will create:
We also cover GitLab Runner: shared versus self managed runners, executors such as Docker and Kubernetes, and how to keep runners and CI variables secure. Pipeline security is part of every section, not an afterthought.
Examples work on GitLab.com and on self managed GitLab. The sample service is written in Python, with notes for Node.js and Go.
DevOps engineer teaching GitHub Actions and Terraform for small teams that ship every day
I help teams move from manual releases to pipelines they trust. Most of my work is GitHub Actions workflows, Terraform modules and the review habits that keep both maintainable.
I teach CI/CD and infrastructure as code as everyday engineering, not as a separate specialism. That means readable YAML, small reusable pieces, secrets handled properly and plans that a reviewer can understand in two minutes.
Every course uses a sample repository you fork and change. You will break the pipeline on purpose, read the logs and fix it, because that is the skill you will use most.
Approvals, deployment freezes and OIDC for AWS gave us a clean production process.
We had two pipelines for every push for a year. The workflow rules example solved it in minutes.
Switching our monorepo to needs based ordering cut pipeline time roughly in half.
Installing and securing our own runners was clearly explained. Kubernetes runner lesson was short but useful.
We now publish shared CI components with versions instead of copying YAML between projects.
Accurate and organised, but early lessons repeat the official documentation closely.