2017-07-18 71 views
0

我們需要將xamarin android應用程序構建爲多個構建配置。我們有不同的KeyStore文件來演唱來自不同構建配置的應用程序。這意味着在構建時我們需要選擇正確的密鑰庫文件和密碼。我們設法使用字符串插值來引用密鑰庫文件的路徑。關於密碼,它是非常棘手的。是否有可能從另一個構建變量的值構造一個vsts構建變量?

考慮例如

多個構建配置 測試下方 開發 PROD 下面建立變量進行了相應的密鑰庫文件的密碼 KeyStorePasswordTest KeyStorePasswordDev KeyStorePasswordProd

現在在構建可變部分,我們有定義了另一個構建變量,其值如下 KeyStorePassword ------- $(「KeyStorePassword $(BuildConfiguration)」)

where valid BuildConfiguration is Test, Dev & Prod. 

有人可以幫助我嗎?這可以通過shell腳本完成,但我們需要一個安全的解決方案,因此決定使用VSTS構建服務器功能。

我們使用的是TFS 2015服務器,並且構建在Mac Mini構建代理上運行。

回答

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)變量通常被定義爲debugrelease,您可以命名不同可變名稱。

+0

不錯。謝謝。會試一試。 – Jeeva

+0

您現在可以通過shell腳本任務成功設置密碼嗎? –

相關問題