서비스를 운영하면서 새로운 기능을 지속적으로 추가하고, 이를 안정적으로 사용자에게 제공하기 위해서는 반복적이고 번거로운 작업들이 동반됩니다. 이 과정을 자동화할 수 있는 방법이 바로 CI/CD입니다. 그렇다면, CI/CD란 정확히 무엇이며, 왜 꼭 배워야 할까요?
CI/CD란?
CI/CD는 다음의 두 가지 용어로 이루어진 개념입니다:
- CI (Continuous Integration): 지속적인 통합
- CD (Continuous Deployment/Delivery): 지속적인 배포
말은 어렵지만, 사실 간단합니다. CI/CD는 소프트웨어 개발 과정에서의 '테스트 → 통합 → 배포' 과정을 자동화하는 시스템입니다.
왜 CI/CD를 배워야 할까?
서비스를 만들다 보면 코드 수정이 자주 발생하고, 새로운 기능을 추가해야 할 일도 많습니다. 이런 변화가 있을 때마다 다음과 같은 수작업을 반복하게 됩니다:
- 새로운 기능 코드를 작성
- Git에 커밋 및 브랜치 머지
- 서버(AWS EC2 등)에 접속
- 코드를 다운로드
- 서버에서 수동으로 실행
이런 작업을 기능을 업데이트할 때마다 매번 직접 수행해야 한다면 너무 번거롭고 비효율적이겠죠.
그래서 이 모든 과정을 자동화해주는 CI/CD 파이프라인이 필요합니다.
CI/CD의 전체 흐름
CI/CD 파이프라인은 일반적으로 다음과 같은 흐름으로 작동합니다:
- 개발자가 새로운 기능을 개발하고 Git에 커밋합니다.
- CI 도구가 코드를 자동으로 빌드합니다.
- 자동으로 테스트 코드가 실행됩니다. (테스트 코드가 없다면 이 단계는 생략됩니다.)
- 테스트에 성공하면, 최신 코드가 운영 서버에 자동으로 배포됩니다.
CI/CD를 구축할 수 있는 대표적인 툴
- GitHub Actions
- Jenkins
- Circle CI
- Travis CI
'MLOps > CI CD' 카테고리의 다른 글
[Github Actions#1] Github Actions란? (0) | 2025.05.23 |
---|