VSTSのbuildタスクで証明書とかProvisioning profileを動的に変更する方法ってあるかな#xamarin pic.twitter.com/t47RknKQBA
— したみや (@catwalk_c1) June 5, 2018
こんな質問を見かけたので、考えてみました。実はコメントでdownload secure fileタスク使って必要なファイルをダウンロードするしかないのかなぁ、と書いたのですが、conditional taskを使えばもっときれいにできることを思いついてしまいました。
conditional taskについては以前書いたので、こちらを見てください。
やり方はそう複雑ではなく、Install Apple certificationタスクを二つ登録して、それぞれのCustom conditionにVariableの値を評価するというやり方です。こんな感じ。
VariableのApplecertificateに"production"と書かれていたときだけ実行する。
VariableのApplecertificateに"demo"と書かれていたときだけ実行する。
Variablesに"Applecertificate"を登録して、右端のSettable at queue timeにチェックを入れます。このチェックがあると、手動実行時にVariableの値を任意で指定できます。ここでは空欄にしていますが、デフォルトの値を決めておけばCIで回すときには指定した値が使われます。
あるいはREST APIを使って、ビルド指定してもいいかもしれません。
これでビルド実行時Applecertificateの値に一致するほうの証明書をインストールします(証明書持ってないので、ここから先は画面がありません)。