Skip to content

Commit

Permalink
added: 5.8 Continuous Delivery - CD Best Practices
Browse files Browse the repository at this point in the history
  • Loading branch information
aabouzaid committed Sep 30, 2024
1 parent 541ec81 commit 681a063
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ if you are interested in the DevOps hands-on project **only**. Continue if you w
- [5.5 Infrastructure - Terraform Essentials](./content/05-module#55-infrastructure---terraform-essentials)
- [5.6 Containers - Kubernetes Configuration Management](./content/05-module#56-containers---kubernetes-configuration-management)
- [5.7 Observability - Log Aggregation Systems](./content/05-module#57-observability---log-aggregation-systems)
- 5.8 Continuous Delivery - CD Best Practices
- [5.8 Continuous Delivery - CD Best Practices](./content/05-module#58-continuous-delivery---cd-best-practices)
- 5.9 Project - HiveBox Phase 5

[**Module 6: Keep Improving**](./content/06-module/)
Expand Down
15 changes: 13 additions & 2 deletions content/05-module/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,11 +160,22 @@

### What you need to know

-
- As mentioned previously, `CD` could refer to two different things: `Continuous Delivery` and `Continuous Deployment`. They are usually used interchangeably, but in reality, they are two distinct stages.
- Here, we are covering `delivery` only (Continuous deployment will be covered in the next module), where code changes are automatically prepared for release to multiple environments, especially production if they are a service or public if they are an artifact.
- The following are some CD best practices to remember:
- Like in CI, automation is the key to effective CD. Automate as much of the CD pipeline as possible.
- Test the software the same way your customers will use it. Try to reduce drift between the test and real cases/environments.
- Build your artifacts once and promote them through the stages of your test pipelines so you are sure you test exactly the same thing.
- Ensure that each test environment is independent and doesn't influence others.
- Measure and monitor as much as possible. Treat your continuous delivery stages like production (or as close as possible) because, by the end of the pipeline, they will be just one step away from production.
- Collect human feedback and iterate! Don't rely solely on the system's feedback; always remember to get insights from the human side, such as developers and production users.
- Always remember that CD is about continuous learning and improving the speed, quality, and reliability of your software delivery process.
- Usually, you will use the same continuous integration solution for continuous delivery, so stick with GitHub Actions for that (but for continuous deployment, another solution will be used in the next module).

### Resources

-
- [How to keep up with CI/CD best practices - Continuous delivery best practices - GitLab](https://about.gitlab.com/blog/2022/02/03/how-to-keep-up-with-ci-cd-best-practices/#continuous-delivery-best-practices)
- [What is Continuous Delivery? Tools and Best Practices - XenonStack](https://www.xenonstack.com/insights/what-is-continuous-delivery)

## 5.9 Project - HiveBox Phase 5

Expand Down

0 comments on commit 681a063

Please sign in to comment.