Azure Pipelines でビルドした Android や iOS アプリを DeployGate に配信します。
DeployGate はモバイルアプリをテスターやβ版ユーザーに配布するサービスです。 Microsoft 系のサービスだと App Center にアプリ配布機能があるのですが、DeployGate は日本のサービスで(クライアントアプリ含め)UI が日本語である点と、一つのアプリをグループごとに配信管理(会社のお偉いさんた達には Stable を、同僚グループには最新版を、とか)できるのが気に入っています。
1つ目は、DeployGate でユーザーを作ったときのユーザー名を得ておきます。 2つ目は https://deploygate.com/settings にアクセスして「API key」に表示されてる値を得ます。
DeployGate 用のタスクは残念ながら無いので、Bash Script でやります。
Android の場合は、Bash のタスクを「Signing and aligning APK file(s)」の下に追加します。
スクリプトは次のように記述します。
curl \
-F "token=<DeployGateAPIキー>" \
-F "file=@$(build.binariesdirectory)\$(BuildConfiguration)\<APKファイル名>" \
-F "message=<デプロイ時のメッセージ>" \
https://deploygate.com/api/users/<DeployGateユーザー名>/apps
<APKファイル名> は、初見では分からないと思うので、一度ビルドして Artifact に保存されたファイル一覧を確認するとよいと思います。くれぐれも「サイン済み」の「-Signed」が付いた apk ファイルを指定してください。
iOS の場合は、Bash のタスクを「Copy Files to: $(build.artifactstagingdirectory)」の下に追加します。
スクリプトは Android とほぼ同じように、次のように記述します。
curl \
-F "token=<DeployGateAPIキー>" \
-F "file=@$(build.artifactstagingdirectory)/<ipaファイルへのパス>" \
-F "message=<デプロイ時のメッセージ>" \
https://deploygate.com/api/users/<DeployGateユーザー名>/apps
<ipaファイルへのパス> も、一度ビルドして Artifact を見るのがよいと思います。
Azure Pipelines を使う人は DeployGate にあまり馴染みがないと感じるので紹介してみました。 これは Pipelines の Builds じゃなくて Releases の方でやるべきかな?わからん。
signed-apk や ipa ファイルへのパスを示す環境変数があったら便利なんすけどねー、どやんすー。