18/04/02 · Log.dev() bitrise

Bitrise로 안드로이드 배포 자동화하기 1) Bitrise + Integrations = ❤️

Bitrise

Bitrise를 처음 접한 곳은 Droid Knights 17빠르고 지속적으로 전달하기-남상균님 세션을 통해서였다. 나도 처음 CI라는 개념을 접한 뒤 Jenkins를 이용한 자동화를 시도했었다. AWS EC2 위에 Jenkins를 올리고, Redmine연동도 해보고, 처음엔 커밋만 하면 자동으로 빌드부터 배포까지 된다는게 너무 신기하고 재밌어서 시간이 가는줄 모르고 세팅을 했다. 그러던 어느날 Jenkins에 쏟는 시간이 너무 많다는 생각이 들었다. 세팅 자체가 복잡하기도 하거니와 앱의 Android SDK 버전을 번경했을 때 등등 계속해서 유지보수해야할 일이 생겨서 때로는 그냥 수동빌드가 더 편하고 빠르다고 느낄 때가 많았다. 그렇게 점점 Jenkins를 관리하지 않게되고 결국 수동빌드로 돌아왔다. 그리고 한참 뒤 Circle CI라는 툴을 많이 쓴다길래 Circle CI를 시도해보려다가 마침 Bitrise를 접하게됐고 그때부터 지금까지 매우 만족하면서 사용하고있다.

CI / CD

maxresdefault
간단하게 말해서 Continuous Integration은 앱의 코드가 변경되었을 때 자동으로 유니테스트를 수행하고 새로운 빌드를 만드는 것까지 담당한다. Continuous Delivery는 내가 느끼기엔 조금 애매한 부분이 있지만 테스트와 배포가 가능하도록 APK파일을 만들어서 다른 팀원들에게 전달하는 것까지를 담당하는것 같다. Continuous Deployment는 Google Play에 배포하는 것까지를 담당한다.

Bitrise의 장점

  1. 서비스 형태로 제공
    Jenkins처럼 내 서버에 직접 설치하는게 아니라 서비스 형태로 제공되기 때문에 가입만 하면 바로 사용할 수 있다.
  2. 직관적인 UI
    가장 큰 장점이다. 비슷한 서비스인(인기도 더 많은) Circle CI는 circle.yml파일을 통해서 빌드세팅을 하는데 처음 circle.yml 파일을 마주하면 '이 좋은 툴을 쓰려면 또 공부를 해야겠구나'라는 생각이 든다. bitrise도 bitrise.yml파일을 통해 세팅을 하지만 직접 파일을 다루지 않고 블록을 조립하듯 모듈들을 끼워넣으면 자동으로 bitrise.yml 파일이 수정되는 직관적인 UI를 가지고있다.
  3. 서드파티 연동
    매우 많은 다른서비스들과 연동이 된다. 역시 모듈 형태로 필요한 곳에 끼워넣기만 하면 되기 때문에 연동이 매우 쉽다. 제공되는 모듈들
    이 외에도 무료로 사용할 수 있는 빌드타임과 횟수도 지금 수준에서는 만족하고있고 github와의 연동이 매우 잘 되어있다는 점도 좋다.
  • LinkedIn
  • Tumblr
  • Reddit
  • Google+
  • Pinterest
  • Pocket
Comments powered by Disqus