Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

AndroidのCI/CD 3

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

CircleCIの利用理由 5

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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