CircleCIを使ってAndroidアプリをデプロイゲートに自動でデプロイ【CirleCI 2.0】
みなさん、CircleCI使ってますか?
にわかエンジニアの私も、CircleCIは便利なので最近お世話になっています。
今回はAndroidアプリを作成する際に、git pushから自動でデプロイゲートへデプロイをしてくれる環境を構築しました。
今まではapkファイルを作成後に手動でデプロイゲートへアップしていましたが、gitへpushするだけで自動で実行されるようになったので非常に便利です!!
酔っ払いながら環境構築したので、忘れないうちにメモっておきます。
まずはアプリのプロジェクトをGitHubかBitbucketにpush
今回はAndroidアプリを作成していることを想定しています。
作成しているアプリはGitHubかBitbucketのどちらかでバージョン管理しているものとします。
CircleCIへログイン
とりあえず、CircleCIへログインしましょう。
アカウントを持っていない方はサインアップ。
GitHubかBitbucketのアカウントがあればすぐに使用できるので簡単です。
ログイン後は、自動でデプロイしたいアプリにチェックし、「Follow」を押しましょう
CircleCIの環境変数を設定
プロジェクトの設定 -> Environment Variables -> Add Variables に、デプロイゲートのAPI Keyを設定しましょう。
今回、Key名は DEPLOY_GATE_API_KEY
としています。
デプロイゲートのAPI Keyは、デプロイゲートのアカウント設定ページから確認できます。
CircleCIの設定
Androidアプリのプロジェクトに、CircleCIの設定ファイルを追加します。
Androidアプリプロジェクトのルートディレクトリ(appとかgradleとか格納されているディレクトリ)に、 .circleci/config.yml
ファイルを作成します。
設定のサンプルは公式にあがっています。
これを参考に、下記のように修正します。(今回テストは実行していません)
version: 2 jobs: build: branches: only: - develop working_directory: ~/code docker: - image: circleci/android:api-25-alpha environment: JVM_OPTS: -Xmx3200m steps: - checkout - restore_cache: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }} - run: name: Download Dependencies command: ./gradlew androidDependencies - save_cache: paths: - ~/.gradle key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }} - run: name: Generate APK command: ./gradlew assembleDebug - run: name: Upload DeployGate command: curl -F "token=${DEPLOY_GATE_API_KEY}" -F "file=@app/build/outputs/apk/debug/app-debug.apk" -F "message=deployed" https://deploygate.com/api/users/デプロイゲートの登録名/apps
デプロイゲートの登録名
は、各自修正してください。
今回は Bitbucketで develop
ブランチにpushした場合のみデプロイゲートにデプロイされるようになっています。
以上です。
CI使えばいろいろできるので、今後も活用していこうと思います!