CI/CD
- 코드를 지속적으로 통합, 테스트, 배포하는 프로세스를 자동화하는 프로세스
- CI (Continuous Integration)
· 코드 변경 사항을 주기적으로 중앙 저장소에 통합
→ 병합 충돌 최소화
· 자동 빌드 및 단위 테스트 수행
· 문제를 빠르게 식별하고 수정할 수 있음
- CD (Continuous Delivery)
· 코드를 항상 배포 가능한 상태로 유지
· 빌드 후에 모든 코드 변경 사항을 운영 환경에 자동으로 배포
CI/CD 파이프라인
1. 코드 푸시 (Push)
: 개발자가 변경 사항을 버전 관리 시스템(Git 등)에 Push함
2. 빌드 (Build)
: 코드를 컴파일하고 의존성을 설치한 후, 실행 가능한 애플리케이션 생성
3. 테스트 (Test)
: 자동화된 테스트 수행
4. 배포 (Deploy)
: 테스트를 통과한 코드를 스테이징(테스트 환경) or 운영 환경에 배포
※ 파이프라인
: 소프트웨어 개발/배포 과정에서 자동화된 작업이 순차적으로 진행되는 일련의 흐름
CI/CD 구성 요소
1) 버전 관리 시스템 (VCS)
· GitBub, GitLab, Bitbucket 등
2) CI/CD 도구
· Jenkins, GitHub Actions, CircleCI, Travis CI, Azure DevOps 등
3) 테스트 프레임워크
· Jest, Mocha, PHPUnit, xUnit 등
4) 배포 도구
· Docker, Kubernetes, AWS CodeDeploy, Terraform 등
'CS' 카테고리의 다른 글
[CS] 해시 알고리즘 (Hash Algorithm) (0) | 2024.11.26 |
---|---|
[CS] 웹 보안(Web Security)과 주요 취약점 (0) | 2024.11.25 |
[CS] 캐싱 유형 (0) | 2024.11.24 |
[CS] 백엔드 개발자 로드맵 따라가기 (진행중) (0) | 2024.11.23 |
[CS] 캐싱 전략 (0) | 2024.11.21 |