Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2016-11-28 開発・改善ワークフローにおけるDeployGate利用方法

Deploygateの活用TIPSいろいろ紹介。

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

2016-11-28 開発・改善ワークフローにおけるDeployGate利用方法

  1. 1. 開発・改善ワークフローにお けるDeployGate利用方法 João Orui @ Drivemode, Inc.
  2. 2. Drivemodeとは
  3. 3. DrivemodeはDeployGateヘビーユーザ ● 多い時で一日20回配信していることも! (※開発チームは4名だけ) ● 配布ページ作成上限数にはじめて引っ掛かった(たぶん) ● 直近6ヶ月の不具合発見数は数個 →いつも迅速な対応ありがとうございます!!!
  4. 4. DeployGateの 活用方法 ざっくり 1. 配信 2. クラッシュログの収集 3. 機能アクティベーション
  5. 5. 配信 1. パートナー企業へ 2. デモ・テスト企画へ 3. 一部テストユーザへ 4. 社員へ 社員には常に最新版を配信!
  6. 6. クラッシュログの収集 すぐに使ってもらい、すぐに不具合を発見 クラッシュはSlackへ投稿する設定→気づきやすくて便利!
  7. 7. 機能アクティベーション 開発中の新機能はactivation flagで公開を制御している 社員は公開前の機能を使うことが出来るようになっている (とても便利なので、のちほど詳しく!)
  8. 8. 配信はどうしてる? Pushから配信まで 1. GitHubプッシュ毎にCIが走る 2. テスト成功したら、自動配信 3. 配信はbranch別配布ページへ
  9. 9. Pushから配信までのフロー コードをpush! ビルド! Webhookで CIサーバー知らせる 配信
  10. 10. CI: Wercker ● 自分でビルド用のDockerイメージ指定が可能 ● "ワークフロー"の条件指定で次のステップを決定することが可能 Dockerイメージ参考: https://github.com/KeithYokoma/wercker-container-android
  11. 11. 配信: curlコマンド一つで実現可能 curl -F ''file=@./app/build/outputs/apk/app-debug.apk'' -F "token=${DEPLOYGATE_API_KEY}" -F "message=debug `git log -n 1 --pretty=format:"%h %s"`" https://deploygate.com/api/users/[owner name]/apps ※他にCLIやプラグインを使う方法もあります。
  12. 12. 便利な活用方法 TIPS! 徹底的DeployGate活用! 1. バージョン内容を分かりやすく表 記 2. ブランチ毎に配布ページを自動 生成 3. 社員・パートナー限定機能の制御 4. ピン
  13. 13. 活用TIPS: ①バージョン内容を分かりやすく表示 配信毎にメッセージを添えることが可能です。 メッセージ内に下記の情報を含めると、あとあと便利です。 1. ビルドタイプ (release, debug, etc...) 2. ビルドフレーバー (internal, production, etc...) 3. バージョン管理リビジョン (git SHA-1 hash, etc...) 4. バージョン管理メッセージ (commit message)
  14. 14. 活用TIPS: ②ブランチ毎に配布ページを自動生成 Drivemodeでは配信は2つのグループに分けています。 1. masterブランチだけを配信するグループ 2. masterブランチ以外を配信するグループ 間違って機能が異るブランチ配信をインストールしてしまうことを防ぎます! masterのみ master以外
  15. 15. 活用TIPS: ②ブランチ毎に配布ページを自動生成 master以外のブランチは、ブランチ毎に配布ページを自動に生成 他のブランチの配信を誤ってインストールしてしまうことを防ぎます 配布時に distribution_name パラメータを指定することで配布ページ自動生成できま す 例: curl -F ''file=@./app/build/outputs/apk/app-release.apk'' -F "token=${DEPLOYGATE_API_KEY}" -F "message=release ${GIT_BRANCH} `git log -n 1 --pretty=format:"%h %s"`" -F "distribution_name=${GIT_BRANCH} release" https://deploygate.com/api/users/[owner name]/apps
  16. 16. 活用TIPS: ③社員・パートナー限定機能の制御 Drivemodeでは開発中の新機能はactivation flagで公開を制御していることが多い 試験的な機能を有効にしたりできるDrivemode Labsを提供しています ※Gmail Labsみたいな感じです! 3つの段階 1. ユーザ公開 2. 社員公開 3. 開発メンバ限定 社員まで公開
  17. 17. 活用TIPS: ③社員・パートナー限定機能の制御 DeployGate#install の第2引数にコールバックを指定することが可能。 インストールしたユーザなどを知らせてくれる! DeployGate.install(this, new DeployGateCallback() { @Override public void onStatusChanged(boolean isManaged, boolean isAuthorized, String loginUsername, boolean isStopped) { analyticsManager.flagAsTeamMember(loginUsername); activationModule.enableTeamFeatures(loginUsername); } }, true); 参考: Android SDK リファレンス
  18. 18. 活用TIPS: ④ピン(保護) 実はグループの最大履歴が500件(増やしたい!! ) 過去のリリースバージョンをキープするためにピン(保護)を使います。 ※いつか古いバージョンを引っ張ってくる必要が来るでしょう!マジで! ※CIのアーカイブから持ってくるのはしんどい!マジで! ピン(保護)!
  19. 19. まとめ DeployGateを使うメリット ● APKファイルを直接やり取りする必要がない ● 社内・社外や自由な範囲で配信が可能 ● インストールしている端末にはアップデート通知が届く ● インストールしているバージョンか確認しやすい ● 過去バージョンに戻せる・管理してくれる ● クラッシュログの収集が出来る
  20. 20. 継続的インテグレーション + 社員への自動配信 + 素早い新規開発へのフィードバック = 素早い改善フローにつながるかも!
  21. 21. 質問
  22. 22. ありがとうございました!

    Be the first to comment

    Login to see the comments

Deploygateの活用TIPSいろいろ紹介。

Views

Total views

5,725

On Slideshare

0

From embeds

0

Number of embeds

3,155

Actions

Downloads

3

Shares

0

Comments

0

Likes

0

×