IT/Experience

[CI/CD] Github Action과 Jenkins를 고민한다면

b__ono__ng 2023. 11. 12. 14:25

기존의 CI/CD를 gitlab으로 했었는데, 다른 툴로 마이그레이션하려고 Github Action과 Jenkins를 찾아봤다.

둘의 차이점을 요약하면 이렇다.

  • Github Action : 비싼데 쉬움 (서버 구현 필요 NO)
  • Jenkins : 싼데 어려움 (서버 구현 필요 YES on Server or AWS)

그러니 둘을 고민한다면 아래만 비교하면 좋을 것 같다.

  1. 팀에 서버를 구현할 수 있는 사람(네트워크 엔지니어)이 있는가
  2. 빌드 시간이 오래 걸리고 가격이 걸림돌인가

만약 1번no라면, jenkins보다는 github action이 낫겠다. 서버를 어느 정도 만져본 사람이 수월하게 할 수 있을 듯 하다. 우리에겐 ChatGPT가 있긴 하지만..

만약 2번 yes라면, jenkins를 선택해야겠다. CI 빌드를 오랜 시간 수행한다면, 그러니까 Github Action의 무료 제공 시간보다 훨씬 오버해서 사용하게 된다면 가격 차이가 꽤 날 것이다.

아래는 Github Action 가격이다.

Github Action 가격

linux 64코어로 가정했을 때, 분당 $0.256니까 1시간에 $15.36이고, 글 작성 원화 기준(23.11.12.)으로 20,277원이다.

다만 Github Action은 계정에 따라 무료 사용시간을 할당해주는데, Github Free를 기준으로 500MB Storage, 2,000분의 실행 시간을 할당해준다. (pro는 1GB/3,000분)

그리고 AWS 가격은 아래와 같다.

AWS EC2 Instance 가격

대충 찾은 64 core 인스턴스이다. 세부 하드웨어 성능은 다를 수 있지만, 대충 1시간에 $2~3정도이다. $3로 계산해도 3,960원이니 5배정도 차이가 난다.

 

여기부터는 팀에서 CI/CD에 시간이 얼마나 요구되냐를 비교해봐야되는데, 단순 계산으로 commit 수 commit 당 소요시간을 생각해보면 된다.

만약 1달에 commit을 100번 하고 commit 당 20분 정도가 소요된다고 가정하면 [33 hour * 시간 당 가격] 으로 계산되니, github action은 무료 (2,000분), AWS는 131,868원이다.

요약하면 jenkins를 올릴 서버가 기존에 존재하거나 AWS를 사용할 것이고 네트워크 엔지니어링이 가능하다면 Jenkins를, 빌드 시간이 오래 걸리지 않고 가격이 큰 문제가 아니라면 Github Action이 좋겠다.