Software Development
CI/CD Pipeline Engineering with GitHub Actions
A build-and-debug course for engineers who own delivery pipelines. Participants construct GitHub Actions workflows from scratch, add caching and matrix builds, wire secrets through OIDC, gate deployments behind environments and approvals, and cut run time while making failures reproducible.
Overview
Practical learning for workplace transfer.
Pipelines usually start as a copied YAML file that works once, then slowly become the slowest and least trusted part of delivery: twenty-minute builds, jobs that pass locally and fail in CI, long-lived credentials pasted into repository secrets, and a deploy step nobody is willing to touch. This course treats the pipeline as engineered software. Participants profile a real workflow, restructure jobs and dependencies, add dependency and build caching, replace static credentials with short-lived OIDC tokens, and rehearse a failed deployment until rollback is routine rather than improvised.
Prerequisites
Working knowledge of Git branching and pull requests, plus familiarity with one build or test tool used by your team. No prior GitHub Actions experience is required.
Objectives
- Design GitHub Actions workflows with jobs, dependencies, and reusable composite steps.
- Cut pipeline run time using dependency caching, artifact reuse, and job parallelism.
- Build matrix strategies that cover runtimes and platforms without multiplying maintenance.
- Authenticate deployments with OIDC and scoped secrets instead of long-lived credentials.
- Gate releases through environments, required approvals, and protected deployment branches.
- Diagnose failing and flaky pipeline runs from logs, artifacts, and reproducible local runs.
Target audience
- Build and release engineers who own delivery pipelines
- Backend and full-stack developers maintaining CI configuration
- Platform and infrastructure engineers automating deployments
- QA automation engineers integrating test suites into CI
- Technical leads standardizing pipelines across repositories
- Teams migrating from Jenkins or GitLab CI to GitHub Actions
Program outline
A clear structure for the learning journey.
Program outline
Outline points are grouped in one designed block instead of being treated as separate module cards.
Module 1: Workflow Anatomy and Job Design
Events, triggers, and filters that decide when a workflow actually runs
Jobs, steps, runners, and the execution model behind each pipeline stage
Passing data between jobs with outputs, artifacts, and job dependencies
Composite actions and reusable workflows that remove copied YAML
Module 2: Build Speed, Caching, and Matrix Strategies
Profiling a slow pipeline to find the stages that actually cost minutes
Dependency and build caches: keys, restore order, and cache invalidation
Matrix builds across language versions and operating systems
Concurrency groups, job splitting, and cancelling superseded runs
Module 3: Secrets, OIDC, and Environment Configuration
Repository, environment, and organization secrets compared
Short-lived cloud credentials through OIDC federation instead of stored keys
Configuration and variable precedence across environments
Keeping secrets out of logs, artifacts, and pull requests from forks
Module 4: Deployment Strategies, Environments, and Rollback
Environments, required reviewers, and approval gates before a deploy
Blue-green, canary, and rolling deployments driven from the pipeline
Versioned artifacts and immutable build promotion across stages
Rehearsing rollback: triggers, automation, and the decision to revert
Module 5: Pipeline Reliability and Failure Diagnosis
Reading a failed run: logs, step annotations, and downloaded artifacts
Reproducing CI failures locally with matching containers and toolchains
Isolating flaky steps: timeouts, race conditions, and shared state
Retry policies, required checks, and the cost of ignoring red builds
Module 6: Pipeline Engineering Workshop
Rebuilding a team pipeline end to end from source to deployed artifact
Adding GitLab CI equivalents for teams running mixed toolchains
Measuring build time, queue time, and success rate before and after
Agreeing pipeline ownership, review rules, and change process
Materials provided
- Course workbook, annotated code samples, and reference notes
- Hands-on lab environment and starter repositories
- Exercises, checklists, and reusable code templates
- 4D Certificate of Completion
- Post-course technical guidance
Training Options
Programs can be delivered in-house, online, or in a blended format depending on your team's schedule, location, and learning objectives. When an external certificate or exam is included, certification rules and fees remain under the relevant awarding body's policies, while 4D provides the training and preparation support.
Why choose 4D
4D runs this course against a pipeline your team already depends on. Trainers profile your current run times, rebuild the workflow with your own build and test tooling, and hand back a measured before-and-after on build duration, queue time, and failure rate inside your repository rather than a sample project.
Related courses
Python Programming Fundamentals
A hands-on introduction to Python for engineers and analysts who need working code rather than tutorial fragments. Participants build fluency with data types, collections, functions, files, and error handling, then assemble a small program that reads real data and produces a usable report.
View courseIntermediate Python and Clean Code Practices
Designed for developers whose Python works but is difficult to change. The course covers dataclasses, generators, decorators, context managers, and type hints, then applies the refactoring moves that turn a nine-hundred-line module into small tested units guarded by black, ruff, and mypy.
View coursePython Automation and Scripting for Work Tasks
Aimed at teams losing hours every week to repetitive file, spreadsheet, and reporting work. Participants automate those tasks with Python: batch file handling, Excel and CSV processing, REST API calls, email alerts, and scheduled jobs that run unattended and report clearly when something fails.
View course