CI/CD¶
Requirements¶
- You understand what is meant with CI.
- You understand what is meant with "merge hell" and how CI is used to solve this.
- You understand what is meant with formatting, linting and static analysis and how they differ from each other.
- You understand what is meant with CD.
- You understand the difference between Continuous Deployment and Continuous Delivery.
- You understand the difference between CI and CD.
- You understand what GitHub Actions are, and their role in a CI/CD pipeline.
- You can implement a CI/CD pipeline using GitHub actions om a GitHub repository.
- You know how to write a
.yml
workflow file and how to use it.
- You know how to write a
- You understand what canary deployments are.
- You understand what blue/green deployments are.
- You understand what trunk-based development is.
- You understand what short-lived feature branches are.
Theory¶
Articles¶
- What is CI/CD?: https://www.redhat.com/en/topics/devops/what-is-ci-cd
- Continuous integration vs. delivery vs. deployment: https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment
- How Meta uses CI/CD: https://engineering.fb.com/2017/08/31/web/rapid-release-at-massive-scale/
- Canary deployments: https://martinfowler.com/bliki/CanaryRelease.html
- Blue/green deployments: https://martinfowler.com/bliki/BlueGreenDeployment.html
- Trunk based development: https://trunkbaseddevelopment.com/
- Short-Lived Feature Branches: https://trunkbaseddevelopment.com/short-lived-feature-branches/
Videos¶
- DevOps CI/CD Explained in 100 Seconds: https://www.youtube.com/watch?v=scEDHsr3APg
- CI/CD Pipeline Explained in 2 minutes With Animation!: https://www.youtube.com/watch?v=jZYrxk2WMbY
- What is Continuous Integration?: https://www.youtube.com/watch?v=1er2cjUq1UI
- What is Continuous Delivery?: https://www.youtube.com/watch?v=2TTU5BB-k9U
- Continuous Deployment vs. Continuous Delivery: https://www.youtube.com/watch?v=LNLKZ4Rvk8w
- GitHub Actions - Supercharge your GitHub Flow: https://www.youtube.com/watch?v=cP0I9w2coGU
- GitHub Actions Tutorial - Basic Concepts and CI/CD Pipeline with Docker: https://www.youtube.com/watch?v=R8_veQiYBjI
- Github Actions CI/CD - Everything you need to know to get started: https://www.youtube.com/watch?v=mFFXuXjVgkU
- Short video that mostly handles the pratical side of GitHub Actions like the
.yml
workflow file.
- Short video that mostly handles the pratical side of GitHub Actions like the
- GitHub Actions Tutorial | From Zero to Hero in 90 minutes (Environments, Secrets, Runners, etc): https://www.youtube.com/watch?v=TLB5MY9BBa4
- More in-depth video that also covers more advanced topics such as runners and how to manage secrets.
Online manuals¶
- GitHub Actions: https://docs.github.com/en/actions
- GitHub Actions Marketplace: https://github.com/marketplace?type=actions
Online courses¶
Students of HOGENT get free access to LinkedIn Learning through Academic Software.
- GitHub Actions for CI/CD, LinkedIn Learning: https://www.linkedin.com/learning/github-actions-for-ci-cd
- Learning Github Actions, LinkedIn Learning: https://www.linkedin.com/learning/learning-github-actions-2
Books¶
- Chandrasekara, C. & Herath, P. (2021). Hands-on GitHub Actions. Apress. Retrieved at 2023-09-18 from https://link.springer.com/book/10.1007/978-1-4842-6464-5.
- HOGENT staff and students have free access to this ebook from campus or via VPN.