관리 메뉴

KorSA

Gitlab CI/CD vs Jenkins CI/CD 본문

Development Experience/*Ops

Gitlab CI/CD vs Jenkins CI/CD

Praiv. 2021. 1. 27. 18:50
320x100

얼마 전 Gitlab 서버를 관리하시던 수석님이 퇴사하시고, Gitlab에 관한 관리를 인계받게 되었다.

 

그리고 올해들어 회사의 개발자 동료 분들 사이에서 소스 코드 품질을 높여야 할 공감대가 생겼다.

 

이전에 SW개발병으로 군복무를 하던 시절, Unit Test와 CI/CD를 경험한 덕분에 내가 주도적으로 회사에 이 tool들을 도입할 기회가 주어졌다.

 

CI/CD를 도입하기 위해 Jenkins CI/CD와 Gitlab CI/CD를 비교하는 글을 찾던 중 괜찮은 글을 찾아 정리해보았다.

 

 

[ Jenkins CI/CD ]
1. 스크립트를 짜서 관리하기가 좋다. (구조화가 잘 되어있고, 이해하기 쉽고, 가독성이 좋다)
2. JAVA로 개발되었기 때문에 JRE가 설치된 환경에서 구동해야 하고, MIT 라이센스를 따른다.
3. 약 1000여개의 플러그인이 있다.
4. Credntials Command 와 같은 플러그인도 사용할 수 있어서 이를 활용하여 숨겨진 인증 자격 증명 등을 스크립트에 쉽게 추가할 수 있다.
5. 쉽게 설치하고, 자동화된 빌드 프로세스를 제공하며 구글느님에게 매우 많은 Document가 있다.
6. REST API를 제공한다.
7. 병렬 처리를 지원한다.
8. GUI 관련된 작업을 진행할 때 분산 처리가 가능하다.
9. Sonarqube 등의 플러그인을 통해 코드 품질을 살펴볼 수 있는 기능을 제공한다.


[ Gitlab CI/CD ]
1. Jenkins CI/CD보다 최근 tool이다.
2. 25000명 이상의 사용자를 관리할 수 있다.
3. Ruby와 GO로 개발되어 있고, MIT 라이센스를 따른다.
4. Repository를 제공한다.
5. 설치와 설정이 쉽다.
6. 통계 웹사이트를 생성해주는 Jekyll 플러그인을 지원한다.
7. Milestone을 설정할 수 있다.
8. Auto-Scaling CI Runner를 제공한다. 이는 EC2에서 90%의 비용 절감 효과를 가져다 주기 때문에 되도록 사용하면 좋다.
9. 이슈 트래킹과 이슈 셔플링을 제공한다.
10. Git repository에 대한 Access Control 기능을 지원한다.
11. 커뮤니티가 활발하다.
12. REST API, GraphQL API를 지원한다.
13. 코드 품질을 살펴볼 수 있는 기능을 제공한다.

 

 

회사에서는 형상 관리 툴로 Gitlab을 이미 사용하고 있기 때문에, Gitlab CI/CD를 도입하는 게 좋을 듯 하다.

 

 

 

참고> www.lambdatest.com/blog/jenkins-vs-gitlab-ci-battle-of-ci-cd-tools/?utm_source=Dzone&utm_medium=blog&utm_campaign=RJ-140920-1&utm_term=RahulJain

728x90
728x90
Comments