我们要求将xamarin android应用程序构建为多个构建配置。我们有不同的KeyStore文件来播放来自不同构建配置的应用程序。这意味着在构建时我们需要选择正确的密钥库文件和密码。我们设法使用字符串插值引用密钥库文件的路径。关于密码,这很棘手。
考虑以下示例
多个构建配置 测试 开发 刺 下面的构建变量带有相应Keystore文件的密码 KeyStorePasswordTest KeyStorePasswordDev KeyStorePasswordProd
现在在构建变量部分,我们已经定义了另一个构建变量,其值如下所示 KeyStorePassword ------- $(“KeyStorePassword $(BuildConfiguration)”)
where valid BuildConfiguration is Test, Dev & Prod.
有人可以帮我吗?这可以从shell脚本完成,但我们想要一个安全的解决方案,因此决定使用VSTS构建服务器功能。
我们正在使用TFS 2015服务器,并且构建在Mac Mini构建代理上运行。
答案 0 :(得分:0)
是的,您可以使用 shell脚本任务以不同的构建配置不同地分配密码。
shell脚本为:
#!/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
shell脚本任务中的参数:
"$(BuildConfiguration)" "$(KeyStorePasswordDev)" "$(KeyStorePasswordTest)" "$(KeyStorePasswordProd)"
注意:强>
由于$(BuildConfiguration)
变量通常定义为debug
或release
,因此您可以改为命名其他变量名称。