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

Beginning CI/CD: A Practical Introduction using GitHub Actions

Additional readings

  • Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation: Humble, Jez, Farley, David: 9780321601919: Books - Amazon.ca

  • Continuous Integration: Improving Software Quality and Reducing Risk: Duvall, Paul, Matyas, Steve, Glover, Andrew: 9780321336385: Books - Amazon.ca

  • The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win: Kim, Gene, Behr, Kevin, Spafford, George: 9781942788294: Books - Amazon.ca

  • The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations: Kim, Gene, Debois, Patrick, Willis, John, Humble, Jez, Allspaw, John: 9781942788003: Books - Amazon.ca