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.
Outline points are grouped in one designed block instead of being treated as separate module cards.
01Workflow Anatomy and Job Design4 topics
- 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
02Build Speed, Caching, and Matrix Strategies4 topics
- 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
03Secrets, OIDC, and Environment Configuration4 topics
- 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
04Deployment Strategies, Environments, and Rollback4 topics
- 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
05Pipeline Reliability and Failure Diagnosis4 topics
- 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
06Pipeline Engineering Workshop4 topics
- 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