CircleCI 2.0でAndroidアプリをビルドする
最近CircleCI 2.0のClosed Betaがリリースされました。
CirceCI 2.0ではDockerをネイティブでサポートしたので、 さっそくDockerイメージを使ってAndroidアプリをビルドしてみました。
CircleCIの設定はビルドしたいアプリのディレクトリに .circleci/config.yml
を作って以下のように書きます。今回はDockerのイメージに既にAndroidアプリのビルド環境が整っているbeevelop/androidを使いました。
version: 2 jobs: build: working_directory: ~/working_directory docker: - image: beevelop/android:latest environment: ANDROID_HOME: /opt/android steps: - checkout - run: name: System information command: | mkdir $ANDROID_HOME/licenses echo [ANDROID_SDK_LICENSE] >> $ANDROID_HOME/licenses/android-sdk-license echo y | android update sdk --no-ui --all --filter "build-tools-25.0.2" echo y | android update sdk --no-ui --all --filter "extra-android-m2repository,extra-google-m2repository" - run: name: Install dependencies command: ./gradlew dependencies - run: name: Build command: ./gradlew assembleRelease
gist5b588be52fde061900e89dbf1abff990
今回は Build Tools
や Google Repository
を追加でインストールしています。Android SDKのライセンス周りは以下の記事を参考にしました。
Circle CIでAndroid SDK周りのライセンス許諾をローカル環境に合わせる - visible true
今まではブラックボックスの部分が多かったので大変でしたが、これからはDockerfileを見ればわかったり自分で作れたりするのですごく楽になりました。
また、以下の記事のようにローカルで設定ファイルを実行できるのですごく便利です。
CircleCI 2.0はローカル環境で実行できるよ - Qiita
※CircleCI 2.0はClosed Betaなので、使う前にこちらから申請する必要があります。