Skip to content

[CICD] Jenkins에서 Github Action으로 변경한 이유

규범 edited this page Feb 26, 2023 · 3 revisions

배경

명식이는 ver1.0 에서는 Jenkins에서 CICD가 진행되었다. ver2.0으로 들어오며 Github Action으로 변경한 이유에 대해서 정리하고자 한다.


변경 이유

  1. 한정된 클라우드 자원

Nginx 도입은 곧 하나의 서버(EC2)가 도입되는 것이다. 명식이는 현재 8명의 팀원이 서버 비용을 나눠서 운영되고 있다. 모두가 대학생과 취준생이라는 점이 하나의 EC2가 장기적으로 보았을 때 부담스럽기 때문에 기존의 Jenkins 서버를 Nginx Reverse Proxy 서버로 활용하여 운영서버 2개, Nginx 서버 1개 총 3개의 서버가 운영되고 있다.

  1. 리포지토리의 Public

ver 1.0에는 서버 리포지토리가 private로 Github Action을 사용할 경우 추가 금액이 발생하였다. 하지만, public으로 변경한 이유는 명지대 학우들의 요청도 있었고 실제로 다른 학우들의 코드 기여를 할 수 있도록 하기 위함도 있다.

  1. Github와 이식성 Jenkins는 여러 노드에서 분산 빌드를 지원하고, Github Actions는 Github에서 호스팅되므로 Github Actions를 사용하면 별도의 서버를 관리할 필요가 없다. 또한, Github에서 형상관리가 이루어지기에 민감한 정보가 포함된 yml 파일 관리에 용이하다.

그렇다면 Github Action이 Jenkins 보다 나은가?

그건 아니다. 각각의 장단점이 존재하며 Jenkins는 더 많은 커스터마이징이 가능한 도구이고, Github Actions는 Github와 밀접하게 통합된 도구이다. 또한, Jenkins는 무료로 사용할 수 있지만 서버를 직접 관리해야합니다. 반면, Github Actions는 무료로 사용할 수 있지만 더 많은 자원을 사용하면 비용이 발생한다.