Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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/

Koji Wakamiya

August 23, 2019
Tweet

More Decks by Koji Wakamiya

Other Decks in Technology

Transcript

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

    View Slide

  2. 自己紹介
    Name : Koji Wakamiya
    Work : Studyplus, inc.
    Github : @koji-1009
    Twitter : @D_R_1009
    Android開発(KotlinとFlutter)
    2

    View Slide

  3. AndroidのCI/CD
    3

    View Slide

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

    View Slide

  5. CircleCIの利用理由
    5

    View Slide

  6. 社内/チームの理由
    ● 社内の理由
    ○ サーバーチーム、フロントエンドチームが CircleCIを利用
    ■ CIを共通にすることで、プランアップデートのメリットが大きい
    ■ 社内でCI設定について知見が共有できる
    ● チームの理由
    ○ メンバーが1人増えることになった
    ○ Betaリリースを利用したより積極的な配信環境を作りたかった
    6

    View Slide

  7. fastlane + Android
    ● fastlane https://fastlane.tools/
    ○ Ruby製のビルド、リリースツール
    ○ iOSではデファクトスタンダード
    ○ Androidでもビルド、デプロイに対応している
    7

    View Slide

  8. CircleCI + fastlane
    ● fastlane側で環境を判断
    ○ ローカルと同じコマンドで動作
    ○ Gemなのでキャッシュも効く
    8

    View Slide

  9. CircleCI + fastlane + Android
    ● CircleCIのAndroid用DockerにはRubyがプリインストールされている
    ○ 公式のDockerを利用することで利用が可能
    ○ Dangerを使うのと同じ要領で利用可能
    ● fastlaneからGradleコマンド + fastlaneコマンドによるデプロイが可能
    ○ Gradleタスクで独自に追加したフローを追加可能
    ○ shell(CiecleCI) + gradle(CircleCI) + gradle (fastlane)+ gem(fastlane)など
    利用できるツールが多種多様なので大抵のことができる
    9

    View Slide

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

    View Slide