YDブログ

(Y)やりたいことしか(D)できない病ブログです。

本サイトはプロモーションが含まれています

CircleCIとDeployGateで、IonicのAndroidアプリを自動デプロイ

Ionicで開発したアプリを自動的にビルドして、スマホに配信する方法を紹介します。

目次

導入メリット

  • ChromebookとクラウドIDEでも手軽にアプリを作れる
  • Android SDKのセットアップが不要
  • デプロイの手間がなくなる

というメリットがあります。

方法としては、CircleCIでGitHubのリポジトリを監視し自動ビルド。DeployGateでスマホへ配信します。

Ionicについては前回のポストをご覧ください。

CircleCIでプロジェクト作成

GitHubでCircleCIにサインイン後、「Add Project」から監視対象のGitHubリポジトリを選択します。

DeployGateのAPIトークンを環境変数に設定

リポジトリに入れるべきでない情報(ユーザー名、APIキー)を、環境変数に設定します。

まずはDeployGateにサインアップ後、https://deploygate.com/settingsから「API key」をコピー。

その後、CIrcleCIの「Project settings > Tweaks > Environment variables」から"DEPLOYGATE_USER"にユーザー名、"DEPLOYGATE_TOKEN"に取得したAPIキーをペーストします。

circle.ymlの設定

CircleCIは、監視対象のリポジトリ上のcircle.ymlファイルで挙動を設定します。 最終的なcircle.ymlは下のようになります。

dependencies:
  post:
    - npm install -g cordova ionic
    - bower install
    - ionic state restore

test:
  override:
    - echo "do nothing"

deployment:
  development:
    branch: development
    commands:
      - ionic platform add android
      - ionic build android
      - curl -F "file=@platforms/android/build/outputs/apk/android-debug.apk" -F "token=$DEPLOYGATE_TOKEN" -F "message=sample" https://deploygate.com/api/users/$DEPLOYGATE_USER/apps
  • dependenciesセクション
    必要なライブラリをインストールしています。ionic state restoreコマンドではpackage.jsonに基づいてプラグインをインストールしています。

  • testセクション
    テストをスルーしています。

  • deploymentセクション
    「branch」で指定したブランチ(development)に変更があると「commands」を順に実行します。 ionic platform add androidは、開発機で実行してあれば不要ですが念のため入れてあります。 今回ビルドするのはandroidだけですが、CircleCIではiOSビルドも試験的にサポートされています。

  • 「$DEPLOYGATE_TOKEN」「$DEPLOYGATE_USER」
    さきほど設定した環境変数です。

実行結果

developmentブランチにcommitすると自動でビルドが走り、スマホのDeployGateへアプリが配信されます。