9

我喜歡使用新的VS 2012發佈配置文件,但在構建服務器上使用它們時,我不確定如何存儲密碼。VS2012發佈配置文件 - 加密密碼

當我勾選「保存密碼」框時,它會創建一個.pubxml.user文件並在XML節點中加密密碼。

當我在構建服務器上運行部署密碼文件似乎總是被忽略。

我可以逃脫的

<PropertyGroup> 
    <Password>NotMyRealPassword> 
</PropertyGroup 

存儲密碼,但考慮到他們已經將其加密我喜歡使用VS加密,如果我能。

我如何unecrypt,並填補了<Password>屬性,而不建立一個自定義任務,這樣做呢?

另外 - 如果我確實需要構建一個自定義的MSBUILD任務,在這個SUO文件中使用了什麼類型的加密?

回答

11

當我試圖寫一個回答你的問題,我意識到,我不太適合回答quetsion,但我想使對.pubxml.user文件中的一些評論。

當您保存網頁發佈Visual Studio中的個人資料,我們對密碼進行加密,並在.pubxml.user文件存儲加密值對於給定的發佈配置文件。我們以每個用戶/每臺機器爲基礎加密此值。所以如果你把同一個文件放到不同的機器上(或者其他用戶登錄到同一臺機器),它不會解密爲正確的值。因此,如果可以在構建服務器上解密由VS存儲的值,則不值得研究。

+1

唉唉真可惜......我相信,在這樣的情況下,孔院是最好的* *的地方,把這個infoas能夠測試你的CI服務器,這樣做是非常重要的,以避免任何CI/CD摩擦。 http://www.diaryofaninja.com/blog/2011/03/27/continuous-integration-ndash-itrsquos-all-about-your-build-projects-ecosystem P.s感謝您的真棒和回答! – Doug

+0

所以,在閱讀你的另一篇帖子之後,我應該將它傳遞給命令行?這讓我覺得有點「臭味」。 –

+4

這裏晚了@Doug,但你可以在Windows Credential Manager中存儲msdeploy的密碼,並使用msdeploy的getCredential參數(雖然不受msbuild任務支持) –