1.
Introduction
2.
Notes for Reviewers
Part I — Foundations
3.
CI/CD Introduction and Overview
4.
Important Terms and Workflow Steps
5.
Getting Started with the Workflow
6.
Getting Started with GitHub Actions
Part II — Local Dev & Repo Setup
7.
Local Dev Environment and Codespaces
8.
Local Development, IDE, and Build Tools
9.
Setting up Your Repository
Part III — Designing Workflows and Collaboration
10.
Workflow Design, Getting Started, and .gitignore
11.
Workflow Design and Control Flow
12.
Workflow Design Patterns
13.
Branching Strategies
14.
Code Reviews
15.
Common Code Review Questions
16.
How to Prioritize Things in Your Repo
17.
CI/CD Anti-patterns
Part IV — Build Quality (Test, Analyze, Package)
18.
Programming a Weather Application
19.
Testing
20.
Dependency Management
21.
Caching and Optimization
22.
File Transforms
23.
Static Analysis in GitHub Actions
24.
Dependabot and Updating Dependencies
Part V — Release & Deployment
25.
Managing Artifacts, Registries and Environments
26.
Communication, Outputs, and Environments
27.
Continuous Deployment Pipeline
28.
Feature Flags and Toggles
29.
Observability, Monitoring, Logging, and Reporting
Part VI — Security & Reproducibility
30.
Security Tools
31.
Security and Reproducibility
32.
Reproducible Builds and SBOMs
33.
CI/CD Security and Governance
34.
Security and Docker Workflow Notes
Part VII — Debugging and Maintenance
35.
Debugging GitHub Actions Workflows
Part VIII — Practical Command Reference
36.
Git Commands for CI/CD
37.
Common Linux Commands
38.
Additional Linux Commands
39.
Docker Commands
40.
echo in GitHub Actions
41.
Conditional Statements
42.
mkdir and curl Examples
43.
rm, ls, wget, cat, mv Examples
44.
sed Examples
45.
cp Command Examples
46.
chmod Command Examples
47.
Adding Paths to $PATH
Part IX — Appendix and Reference
48.
Common Questions
49.
Common GitHub Actions Questions
50.
Common Docker Questions
51.
Common Deployment Questions
52.
Considerations for Businesses
53.
Future topics to cover
54.
The Open-Core Model
55.
Additional Readings
56.
Budgeting and Cost Management: Quick Tips
57.
Time Management: Prioritizing
58.
Podcast: Complexity and Overcoming Blockers
59.
Agile Embedded: CD in Reverse (draft)
60.
File Path Globs by Category
61.
Runner Software and Installing Dependencies
62.
Publishing NPM to GitHub Packages
63.
Comparison of Versioning Solutions
64.
Unanswered Questions and References
65.
Asides Index
Draft stubs (to be expanded)
66.
Enhancing Workflows: Testing, Analysis, and Artifacts (draft)
67.
Dependency Management and Supply Chain Security (draft)
68.
Optimizing, Maintaining, and Debugging Workflows (draft)
Light
Rust
Coal
Navy
Ayu
Beginning CI/CD: A Practical Introduction using GitHub Actions
echo in GitHub Actions