Day 55 · 2/5
🌿 중급 개발도구

CI/CD가 뭔가요?

쉽게 이해하기

CI/CD는 공장의 자동화 라인과 비슷해요. 원재료를 넣으면 검사하고, 조립하고, 포장해서 출하까지 자동으로 진행되잖아요. 코드도 마찬가지로 GitHub에 푸시하면 자동으로 테스트하고, 빌드하고, 서버에 배포까지 해줘요.

핵심 정리

코드를 푸시하면 자동으로 테스트하고 배포까지 해주는 자동화 시스템이에요.

자세히 알아보기

CI는 Continuous Integration(지속적 통합), CD는 Continuous Deployment(지속적 배포)의 약자예요. 개발자가 코드를 푸시하면 자동으로 일련의 과정을 실행해서 빠르고 안전하게 배포할 수 있게 해주는 시스템이죠. CI는 코드를 푸시할 때마다 자동으로 테스트를 돌려요. 예를 들어 내가 새 기능을 추가했는데 실수로 기존 기능을 망가뜨렸다면, 테스트가 실패하면서 즉시 알려줘요. 이렇게 하면 문제를 빨리 발견하고 고칠 수 있어요. 여러 개발자가 함께 작업할 때 특히 중요해요. CD는 테스트를 통과한 코드를 자동으로 배포해요. 예전에는 개발자가 서버에 직접 접속해서 파일을 복사하고, 서버를 재시작하고, 문제가 없는지 확인하는 작업을 수동으로 했어요. 하지만 CI/CD를 쓰면 GitHub에 푸시만 하면 나머지는 자동으로 진행돼요. 실무에서는 GitHub Actions, GitLab CI, Jenkins 같은 도구를 많이 써요. 예를 들어 'main 브랜치에 푸시되면 → 테스트 실행 → 통과하면 Docker 이미지 빌드 → 서버에 배포 → Slack으로 알림 전송' 같은 워크플로우를 설정할 수 있어요. 하루에도 수십 번 배포하는 현대적인 개발 방식에서는 필수적인 도구죠.