2017-07-18 9 views
0

複数のビルド構成にxamarin android appをビルドする必要があります。そして、私たちは異なるビルド構成からのアプリケーションを歌う異なるキーストアファイルを持っています。つまり、ビルド時に正しいキーストアファイルとパスワードを選択する必要があります。文字列補間を使用してキーストアファイルへのパスを参照することができました。パスワードに関しては、それは難しいです。別のビルド変数の値からvstsビルド変数を構築することは可能ですか?

は以下 変数を構築するには、各キーストアファイルのパスワードを運ぶ のDev のProd例

複数のビルド構成 テストの下に考えてみましょう

今すぐビルド変数のセクションで、私たちは持っているKeyStorePasswordTest KeyStorePasswordDev KeyStorePasswordProd 次の値を持つ別のビルド変数を定義しました KeyStorePassword ------- $( "KeyStorePassword $(BuildConfiguration)")

where valid BuildConfiguration is Test, Dev & Prod. 

誰かがこれを手伝ってくれますか?これはシェルスクリプトから行うことができますが、VSTSビルドサーバーの機能を使用することに決めたセキュアなソリューションが必要でした。

私たちはTFS 2015サーバーを使用しており、ビルドはMac Miniビルドエージェントで実行されています。

答えて

0

はい、シェルスクリプトタスクを使用して、異なるビルド構成によってパスワードを異なる方法で割り当てることができます。

シェルスクリプトとして:シェルスクリプトタスクで

#!/bin/bash 

temp=$(echo "KeyStorePassword$BuildConfiguration") 
if [ $temp = "KeyStorePasswordDev" ] 
then 
{ 
# what you want to set password 
} 
elif [ $temp = "KeyStorePasswordProd" ] 
then 
{ 
# what you want to set password 
} 
elif [ $temp = "KeyStorePasswordTest" ] 
then 
{ 
# what you want to set password 
} 
else 
{ echo "no such config or password" } 
fi 

引数:

"$(BuildConfiguration)" "$(KeyStorePasswordDev)" "$(KeyStorePasswordTest)" "$(KeyStorePasswordProd)" 

注: $(BuildConfiguration)変数は通常debugまたはreleaseとして定義されているので、あなたは別の名前を付けることができます代わりに変数名。

+0

ニース。ありがとうございました。試してみましょう。 – Jeeva

+0

シェルスクリプトタスクでパスワードを正しく設定できますか? –

関連する問題