CI/CD
Continuous Integration, Delivery, Deployment
infra devops cicd
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
- Get started with GitLab CI/CD
- Tutorial: Create and run your first GitLab CI/CD pipeline
- Job 은 want to do 를 의미하고, Stages 는 Job 를 모아둔 것이다.
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:
- 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.