CI/CD란 Continuous Integration, Continuous Deployment라는 의미를 가지고 있다. 말이 너무 어렵다. 쉽게 표현하자면 CI/CD는 테스트(Test), 통합(Merge), 배포(Deploy)의 과정을 자동화하는 걸 의미한다.
CI/CD를 왜 배우는 걸까?
서비스를 운영하다보면 새로운 기능을 추가하는 일이 많아진다. 새로운 기능에 대한 코드를 작성한 뒤에 Commit을 찍는다. 그런 뒤에 브랜치에 Merge를 하고 배포를 한다. 배포를 할 때 직접 컴퓨터 서버(ex. AWS EC2)에 접속해서 새로운 코드를 다운받아 실행시켜주어야 한다.
이 과정을 코드의 수정이 일어날 때마다 반복하기란 너무 귀찮은 일이다. 그래서 이런 반복적인 과정을 자동화시키기 위해 CI/CD를 배우는 것이다.
CI/CD 과정은 일반적으로 다음과 같은 과정으로 일어난다.
출처 : https://www.performetriks.com/post/load-test-in-a-cicd-environment
특정 기능을 개발 완료해서 Commit을 찍으면 빌드가 되게 셋팅한다. 빌드가 완료되면 작성한 테스트 코드를 실행시킨다.(테스트 코드를 작성하지 않은 서비스에서는 이 과정을 생략하기도 한다.) 그런 뒤 테스트가 통과하면 실제 서버 컴퓨터에 최신 코드가 배포된다.