LoginSignup
2
2

More than 3 years have passed since last update.

とりあえずdebugAPKをCircleCIでdeploygateにデプロイしてみる

Last updated at Posted at 2017-03-20

CircleCI触ったことのない人間でしたが、使えるようにならにゃということで備忘録。

目的

CircleCI使って、テスト〜デプロイ〜リリース作業を自動化する。
テストはローカルでもいいので、とりあえず今回はデプロイの自動化について。

やること

GitHubとCircleCIの連携

これはCircleCIとGitHubアカウントを連携すれば大丈夫。

DeployGateのAPIキーをCircleCI環境変数に保存

プロジェクトの設定→Environment Variables→Add Variables

プロジェクト直下にcircle.ymlを配置

general:
  branches:
    only:
      # プッシュされたビルド実行するブランチを指定
      - pre-release
  artifacts:
    # Artifactsで見えるようにするファイル
    - app/build/outputs/apk/app-debug.apk
machine:
  java:
    # java8を指定
    version: openjdk8
  environment:
    # $ANDROID_HOMEを指定 (おまじない)
    ANDROID_HOME: /usr/local/android-sdk-linux
dependencies:
  pre:
    # 新しいSDKだとCircleCIがライセンス持ってないので、ローカルに合わせる
    - mkdir $ANDROID_HOME/licenses
    - echo "8933bad161af4178b1185d1a37fbf41ea5269c55" >> $ANDROID_HOME/licenses/android-sdk-license
  override:
    # AndroidManifest.xmlを参照し、必要なSDKとビルドツールを指定
    - echo y | android update sdk --no-ui --filter "android-25,build-tools-25.0.2"
test:
  override:
    # 今回はテスト書いていないので何もしない
    - echo "Nothing to do here."
deployment:
  master:
    # デプロイするブランチ名を指定
    branch: pre-release
    commands:
      # デバッグAPK生成
      - ./gradlew assembleDebug
      # DeployGateにアップロード
      #  環境変数DEPLOY_GATE_API_KEYはCircleCIで設定
      - curl -F "token=${DEPLOY_GATE_API_KEY}" -F "file=@app/build/outputs/apk/app-debug.apk" -F "message=deployed" https://deploygate.com/api/users/ユーザー名/apps

とりあえずこれを配置して、ターゲットブランチをプッシュする。

結果

・プッシュするだけでテスト、ビルド、デプロイをしてくれちゃう。
・DeployGateに勝手に上がるので動作確認楽チン。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2