2012-04-09 58 views
0

我有一個WebRole Azure項目,並且計劃在我的解決方案構建成功時在TFS構建服務器上生成包。如何在TFS構建服務器上啓用Azure項目的包創建

以下是我的解決方案的簡要:

  1. Web應用程序。
  2. 開發中遵循TDD方法。
  3. 1個網絡角色。
  4. 兩種配置(雲和本地)
  5. 基於ACS的驗證。

從Visual Studio我使用PACKAGE命令創建包。

在運行PACKAGE命令,我選擇如下:

  1. 服務配置:雲。
  2. 建立從心:發佈。
  3. 選中:啓用遠程桌面。

什麼是使用Visual Studio中使用的相同設置在TFS構建服務器上創建包的過程?

任何幫助表示讚賞。

回答

1

您可以使用msbuild CorePublish目標。 (請參閱,例如this blog post

作爲安全性的最佳實踐源樹中啓用了遠程桌面,但實際證書,遠程桌面設置不在此處,並且通過在部署期間更改配置來添加。 構建配置的行爲與預期相同,並且ServiceConfiguration風格將最終成爲單獨的cscfg文件。

1

我們有一個Common.Targets,其中包括所有項目,包括.ccproj。它具有:

<Import Project=".\AzurePackages.Targets" Condition=" '$(CloudToolsVersion)' != '' And '$(BuildingInsideVisualStudio)' != 'true'"/> 

AzurePackages.Targets(略編輯):

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
<PropertyGroup> 
    <!-- Create Azure packages --> 
    <PackageName>$(AssemblyName).cspkg</PackageName> 
    <AzurePackageDir>$(OutDir)Packages\$(AssemblyName).Azure\</AzurePackageDir> 
</PropertyGroup> 

<Target Name="CopyPackageToOutDir" AfterTargets="Build" DependsOnTargets="CorePublish" Condition="'$(InRecursiveCall)' == ''"> 
    <Copy SourceFiles="@(PublishServicePackage)" DestinationFolder="$(AzurePackageDir)" /> 
</Target> 

至於配置,我們希望讓每個包附近多個.cscfg,所以我們決定哪一個部署時採取。我們有一個解決方案,但對於單個問題來說太複雜了。

相關問題