Skip to content

Commit

Permalink
added: 6.7 Continuous Deployment - Introduction and Solutions in the …
Browse files Browse the repository at this point in the history
…Market

and misc tidy ups
  • Loading branch information
aabouzaid committed Nov 2, 2024
1 parent 9a64967 commit d34d78e
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 3 deletions.
13 changes: 13 additions & 0 deletions docs/content/module-06/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,8 +166,21 @@ Multi-environment setup is not a trivial topic, but like anything else, doing it

### What you need to know {#67-what-you-need-to-know}

- In simple words, `Continuous Deployment` is a practice part of the CI/CD pipeline in which the code artifact is regularly deployed to different environments automatically or semi-automatically.
- Don't mix `Continuous Deployment` with `Continuous Delivery`; the delivery part has already been covered in previous sections/modules.
- The main goal of the CD is to shorten deployment cycles to production and deploy confidently.
- Frankly speaking, as the CD is the latest step in the pipeline, many companies don't have 100% automated Continuous Deployment. For many reasons, it's preferred to make at least one manual step with human approval, especially before deploying to the production environment. Aiming for a 90% automated CD pipeline is more than enough for most cases.
- It's a common practice (not necessarily good) in the market to use CI tools for the CD, like GitHub Actions and Jenkins. However, a better approach is usually using a dedicated tool for CD.
- There are two common CD models: the `Push Model` and the `Pull Model`. In the **push mode**, the CD system gets the code artifacts and pushes the update to the target environment (e.g., production servers or Kubernetes clusters). In the **pull mode**, the CD system works within the target environment, detects the changes in the code artifacts, and deploys the updates in that environment (this model is more common in the Kubernetes ecosystem).
- There are many types of CD, like Rolling, Blue-Green, and Canary deployments.
- Different CD systems like [Argo CD](https://argo-cd.readthedocs.io/en/stable/), [Flux CD](https://fluxcd.io/), and more exist.
- It's better to use a Cloud-Native CD system, but in general, the system doesn't matter as long as you understand the CD principles and practices.

### Resources {#67-resources}

- [Continuous integration vs. delivery vs. deployment - Atlassian](https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment)
- [Continuous Delivery vs Continuous Deployment: Core Differences - BrowserStack](https://www.browserstack.com/guide/continuous-delivery-vs-continuous-deployment)

## 6.8 Continuous Deployment - GitOps and Argo CD Essentials

### What you need to know {#68-what-you-need-to-know}
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ if you are interested in the DevOps hands-on project **only**. Continue if you w
- [6.4 Infrastructure - Multi-environment Architecture](../content/module-06#64-infrastructure---multi-environment-architecture)
- [6.5 Containers - Kubernetes Operators](../content/module-06#65-containers---kubernetes-operators)
- [6.6 Continuous Delivery - End-to-End Release Automation](../content/module-06#66-continuous-delivery---end-to-end-release-automation)
- 6.7 Continuous Deployment - Introduction and Solutions in the Market
- [6.7 Continuous Deployment - Introduction and Solutions in the Market](./content/module-06#67-continuous-deployment---introduction-and-solutions-in-the-market)
- 6.8 Continuous Deployment - GitOps and Argo CD Essentials
- [Project - HiveBox Phase 6](../content/module-06#project---hivebox-phase-6)
- [Interview Questions - Module 6](../content/module-06#interview-questions---module-6)
Expand Down
2 changes: 1 addition & 1 deletion docs/projects/container-best-practices/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Use Case Project: Apply Docker Best Practices"
title: "Use-Case Project: Apply Docker Best Practices"
sidebar_label: "Docker Best Practices"
description: ""
keywords: ["project", "mini project", "use-case", "container", "docker"]
Expand Down
2 changes: 1 addition & 1 deletion docs/projects/release-automation/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Use Case Project: Artifact Release Automation"
title: "Use-Case Project: Artifact Release Automation"
sidebar_label: "Release Automation"
description: ""
keywords: ["project", "mini project", "use-case"]
Expand Down

0 comments on commit d34d78e

Please sign in to comment.