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へアプリが配信されます。