🚀 옛날옛날에 한 안드로이드 개발자가 살았습니다. 그 개발자는 굉장한 게으름뱅이였는데, 특히 앱을 빌드하여 사내에 배포하는 것을 귀찮아했습니다. 새로 이직한 회사에서는 앱을 한번 배포하기 위한 과정이 너무나 많았기 때문이죠.

  1. 소스를 수정합니다.
  2. 수정된 소스를 로컬에서 빌드합니다.
  3. apk 파일명을 이전 버전과 구분되게  XXX_20190717.apk  같은 형식으로 바꿔줍니다.
  4. 컨플루언스의 앱 배포 페이지에 찾아가서 페이지 수정 버튼을 누릅니다
  5. apk 파일을 끌어다가 올립니다
  6. 저장 버튼을 누릅니다.
  7. 메신저 잔디를 통해 "앱 배포하였습니다."라고 말해줍니다
  8. "어떻게 받아야 하나요?"라는 질문에 대답해줍니다
  9. 바쁘신 대표님을 위해 카톡으로  apk파일을 보내드립니다.
  10. 아참! 카톡으로는 확장자가 apk파일이 전송되지 않으니 zip파일로 압축합니다
  11. 다시 대표님께  XXX_20190717.zip  파일을 보내드립니다.

이런 과정은 하루에 한번만 하는게 아니었어요. 대표님 이하 몇몇 직장동료들은 수정된 앱을 빨리 보고싶어했기 때문이지요.

게으름뱅이 개발자는 고민을 하기 시작했어요. 어떻게하면 저 귀찮은 일을 안할 수 있을까??

APK파일 이름을 자동으로 생성하자!

우선 빌드하면서 자동으로 파일명을 생성하도록  build.gradle  파일을 수정했어요.
APK파일 이름 자동 생성하기
3번 과정이 사라졌어요.

손으로 빌드하지 말자!

열심히 코딩을 하고있는데 갑자기 지금 수정된 것 까지 배포해달라는 요청이 들어왔어요. 하던 일을 멈추고, git stash를 하고, 빌드를 하고, 4~11번 단계를 반복하고, git stash pop을 했어요. APK 파일 이름이 자동으로 생성되어서 좋았지만, 아직도 배포는 매우 귀찮은 일이었어요.

잠시 고민을 한 개발자는 개인 프로젝트에서 사용하던 Bitrise를 사용해서 빌드하기로 결심하였어요. Bitrise에 push trigger를 걸어서 소스가 dev branch에 push되면 자동으로 빌드가 되도록 만들었어요. 이제 누군가 배포를 요청해도 git push 하고 하던 일을 계속 할 수 있게 되었어요.

컨플루언스에 배포하지 말자!

컨플루언스 페이지에  apk 파일을 올리는건 귀찮기도 하고 왠지 힙해보이지 않았어요.
그리고 apk파일을 테스트폰에 설치하기 위해서는 크롬을 켜고 컨플루언스에 로그인을 하고 배포페이지를 찾고 다운을 받아야 했는데 이것도 너무 귀찮은 일이었죠.

기존에 사용하던 배포 페이지

마침 Bitrise에는 빌드된 APK파일의 install page를 만들어주는 step이 있었어요. 잔디에 APK 배포 토픽을 하나 만들고 거기에  install page 링크를 공유하기로 했어요. 와우! 4,5,6,7번 과정이 한번에 사라졌어요.

QR코드 찰칵!

잔디를 통해 url을 배포하는 것은 몇가지 문제가 있었어요.
bitrise에서 생성된 install page url은 매우 길었고, 테스트폰을 위한 잔디 계정은 없어요. 따라서 테스트폰에서는 url을 직접 입력해야하는데 그건 너무 힘든 일이었어요.

다행히 Bitrise에는 url을 QR코드로 만들어주는 step도 있었어요. install page의 url을 QR코드로 만들어서 잔디에 배포할 수 있게 되었어요.

"이제 테스트폰에서 QR코드를 찍어보세요!"

대표님도 QR코드를 카메라로 찍는건 쉽게 잘 하셨어요.
오와우! 8,9,10,11번 과정이 또 한번에 사라졌어요!

이제 앱 배포 과정은 이렇게 바뀌었어요

  1. 소스를 수정한다
  2. commit들을 push한다
  3. 빌드가 완료되면 bitrise에 들어가서 qr코드를 복사한다
  4. 잔디에 qr코드를 배포한다

꽤 많이 줄었지만 qr코드를 복사하는게 또 너무나 귀찮은 일이었어요. 빌드가 성공했을 때잔디에 qr코드가 자동으로 배포된다면 좋겠다! 하지만 slack만큼 인기있는 메신저가 아니어서 그런지 잔디로 메시지를 보내는 step은 없었어요.

개발자는 더 게으름을 피우기 위해 step을 만들기로 했어요.

2편에서 계속 ...