kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

VSTSのビルドタスクで使用するAppleの証明書を切り替えたい

こんな質問を見かけたので、考えてみました。実はコメントでdownload secure fileタスク使って必要なファイルをダウンロードするしかないのかなぁ、と書いたのですが、conditional taskを使えばもっときれいにできることを思いついてしまいました。

conditional taskについては以前書いたので、こちらを見てください。

kkamegawa.hatenablog.jp

やり方はそう複雑ではなく、Install Apple certificationタスクを二つ登録して、それぞれのCustom conditionにVariableの値を評価するというやり方です。こんな感じ。

f:id:kkamegawa:20180606063242p:plain

VariableのApplecertificateに"production"と書かれていたときだけ実行する。

f:id:kkamegawa:20180606063240p:plain

VariableのApplecertificateに"demo"と書かれていたときだけ実行する。

f:id:kkamegawa:20180606063241p:plain

Variablesに"Applecertificate"を登録して、右端のSettable at queue timeにチェックを入れます。このチェックがあると、手動実行時にVariableの値を任意で指定できます。ここでは空欄にしていますが、デフォルトの値を決めておけばCIで回すときには指定した値が使われます。

あるいはREST APIを使って、ビルド指定してもいいかもしれません。

docs.microsoft.com

これでビルド実行時Applecertificateの値に一致するほうの証明書をインストールします(証明書持ってないので、ここから先は画面がありません)。