TIL

오늘 한 일

1. CI (Continuous Integration: 지속적 통합)

개발자들이 작업한 코드를 정기적으로 공통 저장소에 모으고, 자동으로 빌드 및 테스트하는 과정입니다.

코드 병합: 여러 개발자가 수정항 코드를 수시로 합칩니다.

자동 빌드: 병합된 코드가 제대로 컴파일되는지 확인합니다.

자동 테스트: 새로 추가된 기능이 기존 기능을 망가뜨리지는 않았는지 검증합니다.

장점: 버그를 초기에 발견할 수 있고, 코드 품질을 일정하게 유지할 수 있습니다.

2. CD (Continuous Delivery & Deployment: 지속적 제공 및 배포)

CI 과정을 거친 코드를 실제 서비스 환경에 반영하는 과정입니다. 여기서 CD는 두 가지 의미를 모두 포함합니다.

지속적 제공 (Continuous Delivery): 빌드된 결과물이 배포 가능한 상태가 되면, 운영 환경으로 보내기 전 단계(Staging)까지 자동으로 반영합니다. 실제 배포는 사람의 승인이 필요할 수 있습니다.

지속적 배포 (Continuous Deployment): 테스트를 통과한 코드를 실제 운영 서버에 즉시 자동 배포하는 단계입니다. 사람이 개입하지 않는 완전 자동화 단계입니다.

🛠️ 파이프라인의 일반적인 단계

Source: 개발자가 코드를 작성하고 Git 저장소(GitHub, GitLab 등)에 Push 합니다.

Build: 저장소의 코드를 가져와 컴파일하고, 실행 가능한 파일로 만듭니다.

Test: 단위 테스트, 통합 테스트 등을 수행하여 코드의 결함을 확인합니다.

Deploy: 검증된 코드를 실제 서버에 배포하여 사용자에게 공개합니다.

💡 개념 요약

CI는 “코드 품질을 관리하고 합치는 과정”이고, CD는 “그 코드를 사용자에게 전달하는 과정”입니다. 이 모든 과정이 하나로 연결된 것이 바로 CI/CD 파이프라인입니다.

results matching ""

    No results matching ""