WonderPlanet DEVELOPER BLOG

ワンダープラネットの開発者ブログです。モバイルゲーム開発情報を発信。

「dgコマンド」でDeployGateへのアップを自動化

今回のブログを担当する中村です。
アプリ開発のテストの際、DeployGateを使ってIPAやAPKを社内展開しているワンプラですが、アップするのが面倒!
ということで、今日はDeplyGateから提供されている「dgコマンド」というCLIツールの紹介です。

【dgとは】
DeployGateが提供している自動デプロイ用コマンドツールです。(v0.0.6)

【dg install】

$ gem install deploygate  
  :  
 (略)  
  :  
Thank you for installing! =(^x^=  
See also https://github.com/khotta/color_echo  
  
Successfully installed color_echo-2.0.1  
Successfully installed httpclient-2.2.7  
Fetching: deploygate-0.0.6.gem (100%)  
  
dg installed! To get started fast:  
  
  $ dg deploy  
  
Successfully installed deploygate-0.0.6  
  :  
 (略)  
  :  

Macユーザーにはありがたいgem installだけでインストールが完了します。

【dg deploy】

$ dg deploy <プロジェクトのパス>  
Welcome to DeployGate!  
         _            _                       _  
        | |          | |                     | |  
      __| | ___  ___ | | ___ _   ,____   ___ | |_ ___  
     / _` |/ _ \' _ \| |/ _ \ \ / / _ \ / _ `| __/ _ \  
    | (_| |  __/ |_) | | (_) \ v / (_| | (_| | |_' __/  
     \___, \___| .__/|_|\___/ ` / \__, |\__,_|\__\___`  
               |_|           /_/  |___/  
  
Email: nakamura@test0123.co.jp  
Checking for your account...  
  
Password: ************  
  
Hello S_Nakamura!  

プロジェクトパスを指定してdg deployをするとログイン認証があります。
DeployGateへのログインに成功しました。

No deploy target found.  
Please run on the root directory of iOS project or specify .apk/.ipa file to deploy.  

パスが間違っているとこういうエラーが出ます。

Error: Not local install distribution certificate  
  
Not local install iPhone Distribution certificates.  
Please install certificate.  
  
Docs: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html  

ビルドでDistribution certificatesがないと怒られてしまいました。

[17:02:05]xcrun xcodebuild -list -workspace '/Users/*************'  
[17:02:05]xcrun xcodebuild -list -workspace '/Users/**********'  
[17:02:05]xcrun xcodebuild -shoBuildSettings -workspace '/Users/*******' -scheme 'test'  
[17:02:05]set -o pipefail && xcodebuild -workspace '/Users******' -scheme 'test' -destination 'generic/platform=iOS' -archivePath '/Users/**********' archive | tee '/Users/**********' | xcpretty  
  
[17:02:05]Successfully stored the archive. You can find it in the Xcode Organizer.  
  
[17:02:05]/usr/bin/xcrun xcodebuild -exportArchive -exportOptionsPlist '/tmp/*******' -archivePath '/Users/*******' -expiortPath '/tmp/*****'  
  
[17:02:05]Successfully exported and compressed dSYM file  
[17:02:05]Successfully export and signed the Ripa file:  
  
[17:02:05]./test.ipa  
Uploading to nakamura………done  
Name:test  
Owner:nakamura  
Package:jp.co.test.nakamura.test  
Revision:1  
URL:********************  

上手くいくとDeployGateにIPAファイルがアップされます。

DeployGateへアップをしている間はXcodeを触れなかったりして作業時間が圧迫されることはよくあると思いますが、このツールをビルド用端末で使えば自動でアップロードまでやってくれるようにできるので試してみる価値はあると思います。

このdgコマンドはfastlaneというツールの一部機能を使っているそうです。
fastlaneを使うとDeployGateだけでなくAppStoreなどにもアップできます。
更にアプリのシミュレータからスクリーンショットを自動で撮って自動でアップすることができるなど多機能になっています。
フルスクラッチで色々やりたい方はそちらも試してみてください。