CI/CD

개발에만 집중할 수 있도록, 개발 초기에 CI/CD 환경을 구축하기로 했습니다 :)


GithubActions / Jenkins 설정 방법


GithubActions 선택 이유

⇒ Jenkins는 오랜 기간 사용되어 온 기술이기 때문에 참고할 자료가 많았지만, 알아야 할 설정들이 많았고, 플러그인에 의존적이라는 단점이 있었습니다. 반면, GithubActions는 잘 만들어진 템플릿을 통해 간단하게 CI/CD 설정이 가능했으며, 무엇보다 Github와 연동되어 접근성이 좋았습니다.


PipeLine 설명

  1. yml 파일을 통해 CI 설정 → feat 브랜치에서 push가 발생할 경우, 통합(CI)을 위한 테스트 진행
  2. CD 설정 → feat 브랜치에서 dev 브랜치로 PR이 발생할 경우, 테스트 진행
  3. develop 브랜치 혹은 main 브랜치로 merge가 일어나는 경우, 테스트 진행
  4. Docker Image 파일 빌드 → Docker Hub로 push 진행
  5. EC2 dns와 pem키를 통해 접속한 후, DockerHub에서 image pull 받기