지속적통합

[CI/CD]CI도구 세가지를 살펴보자!

마손(Mason) 2022. 3. 23. 16:37

CI/CD 파이프라인과 CI 도구

CI/CD는 지속적 통합지속적 배포의 과정을 하나의 파이프라인으로 연결한 것을 말한다.

CI 과정은 다음과 같다.

코드 저장소는 통상 Github를 사용하고, 빌드와 테스트 과정은 이때까지 내가 수동으로 수행해보았다.

그러나 DevOps가 하는 일은 이 CI 과정을 자동화하는 일이다.

빌드와 테스트를 위한 서버를 통해 결과를 확인하고 신속하게 코드를 수정하여 다음 단계인 릴리즈로 넘어가게끔 해야한다. 이 때 사용되는 것을 CI 도구라 한다.

종류가 엄청 많지만, 가장 대표적인 3가지를 비교해 보고자 한다.


  Jenkins Travis CI GitHub Action
실행 별도의 서버를 설치하여 사용. 호스팅되는 프로젝트를 빌드하고 테스트함. GitHub 저장소를 기반
언어   다양한 언어 지원 다양한 언어 지원
비용   한 달 쓴 만큼
강점 커뮤니티, 플러그인   커뮤니티

특히, GitHub Action이 다른 CI 도구에 비해 갖는 장점을 생각해 보았다.

강력한 GitHub community

Amazon ECR Login에 들어가서 확인을 해봤다.

세팅 방법부터 사용법까지 친절하게 안내가 되어 있었다. 만약 모든 기술이 이렇게 나와있다면 내가 사용하지 못하는 기술은 없겠다 싶을 정도로 자세하게 나와있었다. 이것은 GitHub처럼 무료이며 누구나 이용할 수 있는 오픈소스이다.

 

합리적 비용

아직 현업에서 일해보지 않아서 자세히 모르지만, AWS 비용정책과 비슷한 점이 있었다.

기본적으로 주어지는 사용가능한 분이 지나면 1분마다 추가요금이 부과되는 방식이다.

나같이 배움의 입장에 있는 사람은 충분히 Free로 사용가능하지 싶다.

 

GitHub Action이 갖는 장점을 알 수 있는 기술 블로그이다.

실제로 안드로이드 개발에서 CI 도구를 사용하여 작업하는 모습을 엿볼 수 있다.

 

GitHub Actions로 안드로이드 CI환경 구축하기 (Goodbye Jenkins)

Github Actions로 쾌적한 자동화 빌드 구성하기

dealicious-inc.github.io

 

 

라이더스 개발팀 모바일에서 CI/CD 도입 | 우아한형제들 기술블로그

{{item.name}} 이 글은 CI/CD를 안드로이드에 도입하게 되면서 정리한 내용입니다. 구축 및 운영하고자 하시는 분에게 경험을 공유하고자 합니다. 안녕하세요 라이더스 개발팀 장인수 입니다. 소개

techblog.woowahan.com