Meaning and Workflow

Workflow:

A deeper look into the CI/CD workflow:

  • Verify
    • Continuous Integration
  • Package
  • Release
    • Continuous Delivery, Continuous Deployment

Continuous Integration

Continuous Integration - You can create a set of scripts to build and test your application automatically.

Continuous Delivery

Continuous Delivery - Not only is your application built and tested each time a code change is pushed to the codebase, the application is also deployed continuously. However, with continuous delivery, you trigger the deployments manually.

Continuous Deployment

Similar to Continuous Delivery. The difference is … human intervention is not required. deployments automatically.

GuideLines

Pipelines Sample

stages:
  - init # CI 를 수행하기 위한 초기화 단계 (ENV 결정 등)
  - analyze # 정적 분석 실행
  - build # 빌드
  - test # unittest 등의 테스트 실행
  - package # docker build/push 
  - update_gitops_repo # Gitops Repository Update
  - release # GitLab 에서 Release 를 생성

Continuous Delivery for Kubernetes Using GitOps and Argo CD:

What is ArgoCD:

  • Argo CD is a Kubernetes controller, responsible for continuously monitoring all running applications and comparing their live state to the desired state specified in the Git repository
  • Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.

References