Xamarin.android 是否可以从另一个生成变量的值构造vsts生成变量?
我们需要将xamarin android应用程序构建为多构建配置。我们有不同的密钥库文件来从不同的构建配置中调用应用程序。这意味着在构建时,我们需要选择正确的密钥库文件和密码。我们已经设法使用字符串插值来引用密钥库文件的路径。关于密码,这是很棘手的 考虑下面的例子 多版本配置 试验 发展 戳 下面的构建变量包含各个密钥库文件的密码 keystrepasswordtest keystrepassworddev keystrepasswordprod 现在在buildvariable部分,我们定义了另一个build变量,其值如下 KeyStorePassword------$(“KeyStorePassword$(构建配置)”) 有人能帮我吗?这可以通过shell脚本完成,但我们需要一个安全的解决方案,因此决定使用VSTS构建服务器功能Xamarin.android 是否可以从另一个生成变量的值构造vsts生成变量?,xamarin.android,azure-pipelines,Xamarin.android,Azure Pipelines,我们需要将xamarin android应用程序构建为多构建配置。我们有不同的密钥库文件来从不同的构建配置中调用应用程序。这意味着在构建时,我们需要选择正确的密钥库文件和密码。我们已经设法使用字符串插值来引用密钥库文件的路径。关于密码,这是很棘手的 考虑下面的例子 多版本配置 试验 发展 戳 下面的构建变量包含各个密钥库文件的密码 keystrepasswordtest keystrepassworddev keystrepasswordprod 现在在buildvariable部分,我们定义了
我们使用的是TFS 2015服务器,构建在Mac Mini build agent上运行。是的,您可以使用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
,因此可以改用不同的变量名。Nice。非常感谢。将进行尝试。您现在可以通过shell脚本任务成功设置密码吗?
"$(BuildConfiguration)" "$(KeyStorePasswordDev)" "$(KeyStorePasswordTest)" "$(KeyStorePasswordProd)"