概要
Azure Piplinesでビルドを行い、できた成果物をApp Centerでデプロイする手法があります。
ただ、ググって次のような記事を参考に対応を進めるものの下記スクショのようにエラーがなかなか解消できず苦戦しました。
- WPF on .NET Core 3.0アプリをAzure PipelinesでビルドしてAppCenterにリリースする
- Azure PipelinesのYAMLでiOSアプリのApp Center配布パイプラインを構築する方法
- 今更 Azure DevOps と App Center と繋いで遊んでみる
- ...etc
もしかするとアップデートによるものかもしれないので、手探りで何とか解消できた連携方法を解説します。
前提
細かい説明や補足は入れず、すでにAzure PipelinesとApp Centerを触ったことがあるくらい知っている前提で解説していきます。
そのため、Azure PipelinesとApp Centerについて全く触ったこともなく公式を見ただけの方は、この記事を読む前に一度双方を触ってみることをお勧めします。
すぐに読みたい方は、Azure Pipelines と App Center についてという記事も書いているので良かったらこちらを参考にされてください。
ゴール
手順通りに進めていくことで、Azure Pipelines と App Center を連携できる。
手順
アプリの登録などは済ませている前提で手順を解説していきます。
1. API Tokenの発行
まずは、App Centerの方でAPI Token
を発行する必要があります。
右上のユーザーアイコンをクリックして、Account Settings
からAPI Token
をクリックします。
New API token
をクリックして、Description
は何でも良いので分かりやすいものを入れて、Add new API token
をクリックしてトークンを発行します。
するとトークンが表示されるのでメモしておきましょう。
このトークンは、発行後のみ表示され、再度確認することができない仕様になっているので注意してください。
2. サービス連携(App Center編)
次に、デプロイ対応したいアプリのSettings
からServices
を開いてAzure Pipelinesを選択してサービス連携をしていきます。
選択後、次のように承認を求められるので問題なければ承認をクリックして連携させていきます。
次にAzure Pipelinesで所属している組織(Organization)とパイプラインがリストで表示されます。
このとき、App Centerで登録しているメアドとAzure Pipelinesで登録しているメアドが同じであれば、このようにスムーズに表示されます。
もし、別々のメアドを扱っている際は、同じメアドにするかAzure Pipelinesの組織からユーザー紐づかせるなどの対応が必要かなと。
デプロイ対応したいアプリを登録しているパイプラインを選択し、特に設定せずにSave
をクリックします。
範囲指定しているラベルは、Azure PipelinesのYAMLで設定することになります。
3. サービス連携(Azure Pipelines編)
次にAzure Pipelinesの方で設定していきます。
コンソール画面左下の歯車アイコンをクリックして設定画面を表示し、Pipelinesの項目からService connections
をクリックします。
色々連携できる中、下の方にApp Centerがあるので選んでNext
をクリックします。
先ほどメモしたトークンをAPI Token
のフィールドにペースとして、Service connection name
にはアプリ名または分かりやすいものを入れてSave
をクリックします。
これで連携の準備が整いました!
あとはYAMLに設定していくだけです。
4. YAML設定
今回、アプリ配信なのでApp CenterのDistributeを使用します。
Tasks
からApp Center distribute
を選んで進めると楽に設定できます。
または、公式のApp Center Distribute taskを確認しつつ、ググって良しなに参考になる記事を見つけて細かい設定を進めてください。
App Center service connection
を設定するとき、さっきAzure Pipelinesで登録したApp CenterのService connection name
がプルダウンから表示されます。
ここにプルダウンから表示されない内容を設定すると、冒頭のエラーが発生します。
appSlug
は、2のサービス連携の最後に解説したラベルを入れることになります。
直書きでも良いですがValue設定すると柔軟に対応できます。
5. 動作確認
あとは変更したYAMLをSave & Runさせて、App Centerでデプロイできていたら完了です!
まとめ
上記の参考にしていた記事と比較するとお分かりですが、Azure Pipelines と App Center の連携が全く解説されておらず、アプリの登録方法とYANLの設定方法だけ書かれているような印象があり、初見だと冒頭のエラーが起きやすいと感じたのでざっくりまとめました。
今回、サンプルではWindowsのビルド設定になってますが、iOS/Androidのネイティブに関わらず、Unity/Xamarin/Reactなどマルチプラットフォームツールにも対応しています。
先日、GitHubがチームも無料になって結構個人で扱えるようになり、GitHubはMicrosoft内でもありますし、まずは全て個人用アカウントで試してみてはいかがでしょうか。