CircleCI で Android アプリをビルドする時のTIPS

  • 22
    いいね
  • 1
    コメント
この記事は最終更新日から1年以上が経過しています。

Android アプリをビルドするには

基本、circle.yml に設定を記載するだけです。

ビルド設定ファイル サンプル

circle.yml
general:
  artifacts:
    - ./app/build/outputs/apk/
machine:
  java:
    version: oraclejdk7
  environment:
    ANDROID_HOME: /usr/local/android-sdk-linux
test:
  override:
    - echo "Nothing to do here"
  post:
    - ./gradlew compileDevelopReleaseSources
deployment:
  upload:
    branch: [master]
    commands:
      - ./gradlew assembleDevelopRelease
      - ./gradlew uploadDeployGateDevelop
      - ./gradlew assembleProductRelease
      - ./gradlew uploadDeployGateProduct
build.grade
apply plugin: 'com.android.application'
apply plugin: 'deploygate'

android {
...
    signingConfigs {
        release {
            storeFile file('../release.keystore')
            storePassword System.getenv('STORE_PASSWORD')
            keyAlias System.getenv('KEY_ALIAS')
            keyPassword System.getenv('KEY_PASSWORD')
        }
    }
...
}

...
deploygate {
    userName = System.getenv('DEPLOYGATE_USERNAME')
    token = System.getenv('DEPLOYGATE_API_KEY')

    apks {
        product {
            sourceFile = file("./build/outputs/apk/app-product-release.apk")
        }
        develop {
            sourceFile = file("./build/outputs/apk/app-develop-release.apk")
        }
    }
}
...

TIPS 集

共通設定

  • JDK の設定は Oracle JDK 1.7 を使う
  • artifacts は設定しておくと、あとから CircleCI の Webページからapkをダウンロードできる

keystore 関連

  • keystore ファイルは GitHub リポジトリに含める(※非公開リポジトリの場合)
  • key alias と key password は CircleCI の Environment variables に設定する

デプロイ関連

  • DeployGate 使うのがおすすめ
    • gradle plugin があるのでそれを使う
    • DeployGate の API KEY も Environment variables に設定する

もっとわかりやすいドキュメントないの?

日本語の情報が不足していますので、英語のものも併せて確認するのがよいと思います