CircleCI + fastlaneで快適Androidアプリビルドの巻

CircleCI + fastlaneで快適Androidアプリビルドの巻

- AndroidのCI環境を移行しました!- Studyplus Engineering Blog
- https://tech.studyplus.co.jp/entry/2019/06/03/093849
- Studyplus
- https://info.studyplus.co.jp/

494a2760dceccc31c4bcdb689041c614?s=128

Koji Wakamiya

August 23, 2019
Tweet

Transcript

  1. CircleCI + fastlaneで 快適Androidアプリビルドの巻 CircleCI Japan 東京・第6回 CircleCI ユーザーコミュニティミートアップ

  2. 自己紹介 Name : Koji Wakamiya Work : Studyplus, inc. Github

    : @koji-1009 Twitter : @D_R_1009 Android開発(KotlinとFlutter) 2
  3. AndroidのCI/CD 3

  4. CIサービスの選択肢は多様 • Gradleが動けばビルドできるため、 JVMが動くサービスならどこでも! ※JDKの細やかな話はおいておく • Android Build Toolsのライセンス認証が(少々)ややこしいため、 Androidが公式にサポートされている環境が好ましい

    4
  5. CircleCIの利用理由 5

  6. 社内/チームの理由 • 社内の理由 ◦ サーバーチーム、フロントエンドチームが CircleCIを利用 ▪ CIを共通にすることで、プランアップデートのメリットが大きい ▪ 社内でCI設定について知見が共有できる

    • チームの理由 ◦ メンバーが1人増えることになった ◦ Betaリリースを利用したより積極的な配信環境を作りたかった 6
  7. fastlane + Android • fastlane https://fastlane.tools/ ◦ Ruby製のビルド、リリースツール ◦ iOSではデファクトスタンダード

    ◦ Androidでもビルド、デプロイに対応している 7
  8. CircleCI + fastlane • fastlane側で環境を判断 ◦ ローカルと同じコマンドで動作 ◦ Gemなのでキャッシュも効く 8

  9. CircleCI + fastlane + Android • CircleCIのAndroid用DockerにはRubyがプリインストールされている ◦ 公式のDockerを利用することで利用が可能 ◦

    Dangerを使うのと同じ要領で利用可能 • fastlaneからGradleコマンド + fastlaneコマンドによるデプロイが可能 ◦ Gradleタスクで独自に追加したフローを追加可能 ◦ shell(CiecleCI) + gradle(CircleCI) + gradle (fastlane)+ gem(fastlane)など 利用できるツールが多種多様なので大抵のことができる 9
  10. Appendix • AndroidのCI環境を移行しました!- Studyplus Engineering Blog ◦ https://tech.studyplus.co.jp/entry/2019/06/03/093849 • Studyplus

    ◦ https://info.studyplus.co.jp/ 10