간단한 CRUD API를 배포한다고 가정해보자. 일반적으로 아래와 같은 과정으로 제작 및 배포를 진행할 것이다. API 작성 -> 빌드 -> 테스트(단위, E2E, 통합) -> 배포 위 과정은 모두 사람이 수기로 해도 별 영향이 없다. 하지만 사람들은 왜 CI/CD라는것을 도입할까? 위 과정을 기준으로 어떠한 과정에서 CI와 CD가 활용되는지 알아보자. CI CI란 Continuous Integration의 약자이다. 흔히 지속적 통합이라고 부르며, 위 과정에서 세가지 단계의 관점에 대한 개념으로 짧게 말하면 빌드&테스트 자동화이다. API 작성 -> 빌드 -> 테스트(단위, E2E, 통합) 우리는 git 혹은 svn을 사용하여 소스코드의 버전관리를 진행한다. 그리고 소스코드를 Github, Gitlab..

이전 포스트에서 CI와 CD가 어떤 상황에서 사용되는지에 대해 알아보았다. 이번에는 CI(Continuous Integration)를 구현해 볼 것이다. 현재 초기 개발단계인 프로젝트는 dev 브랜치에 병합을 하면 Development 서버에 배포가 된다. 이 레포지토리에 아래 규칙을 강제해 볼 것이다. dev 브랜치에 Pull Request를 하면 Unit Test를 통과해야만 Merge가 가능하다. 우선 이 규칙을 만들기 위해서는 Github Actions 를 사용해야한다.(한글문서를 제공하니 참고하자). 우선 필자가 작성한 스크립트를 보기 전에 해당 글에서는 Github Action에 대해 간단히 짚고 넘어가보자. 문서에서 제공하는 대표 예시를 기준으로 기본적인 Github Action에 대한 이해..