반응형

CI/CD 란?

CI(Continuous Integration)는 소프트웨어 구축, 테스트 및 게시 프로세스의 자동화를 의미합니다.

CD(Continuous Deployment or Continuous Delivery)는 배포 자동화를 의미합니다.

 

즉, CI/CD는 코드 변경에 대해서 신속하게 코드 품질을 개선하는 데에 도움을 주는 DevOps 방식입니다.

만약 팀에 좋은 CI/CD 프로세스가 구축이 되어 있다면 더 신속하고 정확하게 릴리즈를 할 수 있을 것입니다.

 

옛날에 비해 CI/CD에 대한 중요성과 관심도가 급증함에 따라 도구들도 많아져서 선택에 어려움이 생기는 경우도 종종 발생하고 있습니다.

서비스에 따라 어떤 플랫폼을 선택을 하는 게 좋을지 고민할 텐데 우선 어떤 선택지가 있는지 살펴보겠습니다.

 

출처: 2023년 개발자 생태계 보고서

 

역시 아직까지 Jenkins 사용자가 많은데, 그 뒤를 Github Action이 바짝 따라잡고 있습니다.

 

 

GitHub Actions

Git을 많이 사용하기 때문에 가장 인기있는 도구가 아닐까 싶습니다.

Git과 직접 연동이 되기 때문에 workflow 작성 및 관리가 쉽습니다.

다양한 플러그인을 제공해줍니다.

초기에는 러닝커브가 있을 수 있습니다.

public repository는 무료로 제공되며, private이라면 500MB 2000분이 무료로 제공됩니다.

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

 

Jenkins

아직까지도 제일 많이 사용하는 도구이며, 커뮤니티가 활발합니다.

오픈소스이고 무료입니다.

서버를 직접 호스팅 하고 관리해야 하기 때문에 서버 비용은 별도입니다.

마찬가지로 다양한 플러그인을 제공해 줍니다.

초기 설정에 시간이 걸릴 수 있으며, 지속적인 관리가 필요합니다.

https://jenkins.io/

 

GitLab CI

GitLab 플랫폼에서 자동화 빌드, 테스트 및 배포 파이프라인을 제공합니다.

사용이 간편하고 배포 설정이 쉽습니다.

다른 플랫폼에 비해 플러그인이 적습니다.

https://about.gitlab.com/

 

반응형

+ Recent posts