개발새발
CI / CD 본문
CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법
애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르러 애플리케이션 라이프 사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공합니다.
CI (Continuous Integration)
- 지속적 통합
- 빌드/테스트 자동화 과정
- 개발자를 위한 자동화 프로세스
- 여러 명이 하나의 코드에 대해서 수정을 진행해도 지속적으로 통합하면서 관리할 수 있음
- 개발자가 빌드와 테스트를 직접 하지 않고도 수정한 코드를 브랜치에 병합하기만 하면 자동으로 빌드와 테스트를 검증할 수 있음
- 커밋할 때마다 빌드와 일련의 자동 테스트가 이루어져 동작을 확인하고 변경으로 인해 문제가 생기는 부분이 없도록 보장
- 그 자체로 유익하지만 CI/CD 파이프라인을 구현하기 위한 첫 단계이다
CD(Continuous Deployment)
- 지속적 통합을 거친 코드에 대해서 신뢰할 수 있고 바로 배포
- 지속적 배포로 소프트웨어가 항상 신뢰 가능한 수준에서 배포될수 있도록 하자는 개녕에서 지속적 제공(Continuous Delivery)로 사용되기도 한다
- 지속적 제공은 CI를 통해 새로운 소스코드의 빌드와 테스트 병합까지 성공적으로 진행되었다면, 빌드와 테스트를 거쳐 github과 같은 저장소에 업로드 하는것을 의미
- 코드변경이 파이프라인의 이전 단계를 모두 성공적으로 통과하면 수동 개입 없이 해당 변경 사항이 프러덕션에 자동으로 배도
- 품질 저하 없이 최대한 빨리 사용자에게 새로운 기능을 제공할 수 있다
CI/CD 종류
- Jenkins
- CircleCI
- TravisCI
- Github Action
참고
'CS' 카테고리의 다른 글
OAuth 와 JWT의 흐름 (0) | 2022.10.27 |
---|---|
WebClient (0) | 2022.10.05 |
동기 비동기 (0) | 2022.09.11 |
네트워크 (0) | 2022.08.03 |
컴퓨터와 프로그래밍의 이해 - 웹 어플리케이션과 웹 서버 (0) | 2022.07.27 |
Comments