Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

At EED we have two k8s cluster accel-webapp-dev and accel-webapp respectively for testing and production deployment. In this article we are going to describe how CD/CD has been implemented to achieve CI/CD (Continuous Integration and Continuous Delivering). each one environment is identified by his hostname accel-webapp-dev.slac.stanford.edu and accel-webapp.slac.stanford.edu.

Overview

This document outlines the continuous deployment pipeline for Project A. The pipeline is designed to manage deployments from development through to production using Kubernetes clusters, with human intervention required for promotion to the production environment.

...

- **Automated Deployment**: Using Argo CD, the Docker image is automatically deployed to the Kubernetes (K8s) Pre-Production Cluster (eedaccel-webapp-testappdev.slac.stanford.edu).
- **Components**:
  - **ProjectA Artifact**: Deployed application artifact.
  - **MongoDB**: The pre-production database instance.
  - **MariaDB**: Another pre-production database instance.
  - **Argo CD**: The continuous deployment tool that synchronizes the cluster state with the repository state.

...

- **Wait Promotion**: Deployment to production requires human intervention for approval.
- **Promotion**: Once approved, the configuration from the pre-production is promoted to the production Git repository.
- **Automated Deployment**: Argo CD automatically deploys the promoted configuration to the Kubernetes (K8s) Production Cluster (eedaccel-appwebapp.slac.stanford.edu).
- **Components**:
  - **ProjectA Artifact**: Deployed application artifact in production.
  - **MongoDB**: The production database instance.
  - **MariaDB**: Another production database instance.
  - **Argo CD**: Manages the deployment and ensures the production cluster state is in sync with the production repository.

...