Reference and Selective Reading
You do not need to read the source books or docs front-to-back for this module. Concept pages are the primary teacher. Open the chunks and external pages below only when you need alternate exposition or a deeper worked example.
Source Roles
| Source | Role | Why it is here |
|---|---|---|
| Official CI docs (GitHub Actions, GitLab CI) | Primary | Only authoritative source for YAML syntax and runner behavior |
| DORA research (dora.dev) | Primary | Empirical backing for the delivery stance of the module |
| Martin Fowler bliki / articles | Primary | Canonical short definitions for delivery, canary, blue-green, evodb |
| Semver / Keep a Changelog / Conventional Commits | Primary | Authoritative specs for versioning and release notes |
| SLSA / Sigstore | Primary | Supply-chain integrity and signing |
| Pro Git | Selective | Branching, tagging, and signing -- cluster 1 and 4 only |
| Git from the bottom up | Selective | Mental model for branches and rebase |
| The Linux Command Line | Background | Shell fluency for runner and release scripts; optional |
Read Only If Stuck
Delivery stance and branching (Cluster 1)
- Trunk-Based Development -- introduction
- Trunk-Based Development -- short-lived feature branches
- Martin Fowler: ContinuousDelivery
- DORA -- capabilities catalog
- Pro Git: Branch Management and Long-Running Branches
- Pro Git: Topic branches
- Pro Git: Distributed Git workflows
- Git from the bottom up: Branching and rebase
CI pipeline (Cluster 2)
- GitHub Actions -- Writing workflows
- GitHub Actions -- Workflow syntax
- GitHub Actions -- Storing and sharing workflow data
- GitLab CI -- Get started
- GitLab CI -- YAML keyword reference
- Martin Fowler: TestPyramid
- Martin Fowler: ContractTest
- Pact -- Consumer-driven contracts
CD pipeline (Cluster 3)
- Martin Fowler: BlueGreenDeployment
- Martin Fowler: CanaryRelease
- Kubernetes -- Deployments
- Argo Rollouts -- Canary
- Argo Rollouts -- BlueGreen
- Flagger -- docs
- Martin Fowler: FeatureToggle
- Pete Hodgson: Feature Toggles
- OpenFeature -- reference
- Google SRE Workbook: Canarying Releases
Release engineering (Cluster 4)
- Semantic Versioning 2.0.0
- Keep a Changelog 1.1.0
- Conventional Commits 1.0.0
- SLSA v1.0 specification
- Sigstore documentation
- in-toto
- Martin Fowler: Evolutionary Database Design (EvodB)
- Martin Fowler: ParallelChange
- Flyway documentation
- Liquibase -- concepts
- gh-ost -- online MySQL migration
- Pro Git: Tagging
- Pro Git: Listing tags, deleting tags, checking out tags
- Pro Git: Signing your work
Quality gates and safety (Cluster 5)
- GitHub Actions -- OIDC overview
- GitHub Actions -- Configuring OIDC for AWS
- GitHub Actions -- Using secrets
- GitHub Actions -- Managing environments
- GitLab -- OIDC / ID tokens
- GitLab -- Protected environments
- OWASP -- CI/CD Top 10
- DORA -- Streamlining change approval
- DORA -- Monitoring and observability capability
- Datadog -- CI Visibility
- Grafana -- Annotations API
- OpenTelemetry -- CI/CD semantic conventions