비교 대상 선정
저는 현재 기술을 선택할 때 기술 선택 도구 1을 우선시하고, 이후에 2,3번을 번걸아가며 사용한다. 취업을 희망하는 대부분의 회사들의 사용 기술 스택에 젠킨스와 Github Action가 있다 따라서 Travis와 Gitlab 등 유명한 CI/CD 툴을 먼저 배제했다.물론 Gitlab과 Travis를 잘 사용한다면 다른 툴들도 잘 사용할 가능성이 높지만 현업에서 사용하고 있는 툴이라는 좋은 선택지가 있으니 이를 두고 타 선택지를 고려할 이유는 없다고 생각했다.
기술 선택 도구
-
제가 가려고 하는 회사들이 어떤 기술을 사용하는가?
-
신입에게 요구되는 역량이 무엇인가?
-
기술의 장단점이란?
🕴️젠킨스
- 젠킨스는 자동화된 CI, CD 환경을 제공해주는 오픈소스 서버이다. 젠킨스는 빌드와 배포 및 프로젝트 자동화를 도와줄 수많은 플러그인을 제공
📤장점
- CI/CD 기능 제공
- 쉬운 설치
- 웹 인터페이스를 활용한 쉬운 설정
- 수많은 플러그인 존재
- 확장 가능성
📥단점
- 젠킨스를 위한 서버를 띄워야함.
- 플러그인이 너무 많아서 기술 선택하기가 어려움.
- 초기 설정 값이 많음.
출처: https://www.jenkins.io/
💁♂️Github Action
- CI/CD와 같은 소프트웨어 workflow를 자동화 시켜주는 툴. 깃허브에서 빌드, 테스트, 배포를 모두 할 수 있음. 깃허브 이벤트를 트리거로 사용함.
📤장점
- CI/CD 기능 제공
- 깃허브의 이벤트와 연동이 매우 용이.
- 다양한 운영체제에서 병행 빌드가 가능함.
- Supports Any launguage
- docker-compose를 이용한 다중 컨테이너 환경 구축.
- 무설치, 초기 설정 부담 적음.
📥단점
출처: https://github.com/features/actions
📌선택
결과: Github Action
이유
- 무설치, 초기 설정 부담 적음
- 신입 개발자를 준비하고 있기 때문에 CI/CD 과정을 경험하는게 중요하다고 생각함. 따라서
초기 설정 부담이 적은 Github Action을 이용하는게 학습 목적에 부합하다고 판단.
- 깃허브 이벤트와 연동이 매우 용이함.
- 깃허브 내부에 존재하는 툴이기 때문에 푸시, PR, 이슈 등 깃허브 이벤트들과 연동이 쉬움. 그만큼 Customizing할 요소가 많다는 뜻.