1. 선택하는 기준

팀의 요구사항, 프로젝트 규모, 인프라 환경 등을 고려

  1) 사용 목적과 요구사항 

  • gitLab cicd : 원격 git repository를 gitLab으로 사용 중이라면 자연스럽게...
  • gitHub actions : 원격 git repository를 gitHub로 사용 중이라면 자연스럽게...
  • Jenkins : 독립적인 CICD 환경이 필요하거나 커스텀이 많다면

 

  2) 설정 및 유지보수 편의성

  • gitLab cicd : .gitlab-ci.yml 하나로 설정 가능
  • gitHub actions : ./github/workflows/ 하위의 .yml 파일로 워크플로우 작성, Marketplace에 다양한 액션 제공
  • Jenkins : 서버관리 필요, 지원 플러그인 많지만 설정과 유지보수가  상대적으로 복잡

 

  3) 실행 환경 및 비용

  • gitLab cicd : 제한적 무료
  • gitHub actions : 제한적 무료
  • Jenkins : 자체 서버 구축 필요, 클라우드 사용 시 비용 고려

 

  4) 확장성과 커스터마이징

  • Jenkins 가 상대적으로 많은 플러그인 제공
  • gitLab cicd, gitHub actions : gitLab과 gitHub의 연동이 가능한 이점으로 접근성이 좋고 점점 활성화되고 있음

 

  5) 선택

  • 원격 git repository를 사용한다면, 각각 gitHub actions, gitLab cicd로 자연스럽게 선택
  • on-premise 환경이나 커스텀에 초점을 맞춘다면, Jenkins를 선택

 

 

 

 

 

 

 

 

 

https://docs.github.com/ko/actions

 

GitHub Actions 설명서 - GitHub Docs

GitHub Actions를 사용하여 리포지토리에서 바로 소프트웨어 개발 워크플로를 자동화, 사용자 지정 및 실행합니다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유하고 완

docs.github.com

 

https://docs.gitlab.com/ci/

 

Get started with GitLab CI/CD | GitLab Docs

Get started with GitLab CI/CD Tier: Free, Premium, UltimateOffering: GitLab.com, GitLab Self-Managed, GitLab Dedicated CI/CD is a continuous method of software development, where you continuously build, test, deploy, and monitor iterative code changes. Thi

docs.gitlab.com

 

https://www.jenkins.io/doc/

 

Jenkins User Documentation

Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software

www.jenkins.io

 

 

 

+ Recent posts