![](/img/trans.png)
[英]Create Azure Cloud Service package in Visual Studio Team Services build
[英]How can I publish an Azure Cloud Services project with multiple sites on a single service using Visual Studio Team Services?
我有一個經典的Cloud Services項目,在一個服務上有多個網站,在ServiceDefinition.csdef
如下配置:
<WebRole name="PE.Roles.API" vmsize="Small">
<Sites>
<Site name="API" physicalDirectory="..\..\..\PE.Roles.API">
<Bindings>
<Binding name="http" endpointName="PE.API" />
</Bindings>
</Site>
<Site name="PE.Services.Authorization" physicalDirectory="..\..\..\PE.Services.Authorization">
<Bindings>
<Binding name="http" endpointName="PE.Services.Authorization" />
</Bindings>
</Site>
<!-- Etc -->
</Sites>
</WebRole>
這可以在Visual Studio 2015中正確編譯和打包,並且可以毫無問題地從預編譯的.cspkg
文件部署到Cloud Service。
我們最近已移至Visual Studio Team Services for DevOps,並且我正在嘗試使用提供的Azure Cloud Services構建模板來設置此解決方案以在雲中構建和部署。
.sln
步驟正確完成,但是.ccproj
步驟失敗,並出現以下錯誤:
PE.Azure\bin\ServiceDefinition.csdef (0, 0)
PE.Azure\bin\ServiceDefinition.csdef(0,0): Error CloudServices079: Cannot find the physical directory 'D:\a\1\PE.Roles.API' for virtual path API/.
Process 'msbuild.exe' exited with code '1'.
我的構建參數是: /t:Publish /p:TargetProfile=$(targetProfile) /p:DebugType=None /p:SkipInvalidConfigurations=true /p:OutputPath=bin\\ /p:PublishDir="$(build.artifactstagingdirectory)\\\\"
我發現許多博客文章和SO問題都涉及類似的問題,但沒有一個能夠准確解決這個問題(並且最近幾年也沒有發布)。
更新資料
我為該項目創建了TFVC存儲庫,並實現了映射步驟,如下所示:
我需要做什么才能使它正常工作?
您需要根據physicalDirectory的設置修改源映射。
請參考此示例對其進行修改:
<Site name="API" physicalDirectory="..\..\..\WebGeneralDemo">
<Bindings>
<Binding name="http" endpointName="WebGeneralDemo" />
</Bindings>
</Site>
更新:
如果這些項目在git存儲庫中,則可以將結構保留在存儲庫中,如下所示:
-回購
-AzureCloudServiceDemo
--- AzureCloudServiceDemo
--- WebRole1
--WebGeneralDemo
如果結構不是這樣,則可以使用“ 復制文件”任務來復制文件夾(包括文件)
更新資料
對於此特定問題,回購協議的原始結構如下:
.... .ccproj
文件位於PE.Azure
文件夾中,而正在發布的站點位於PE.Roles.API
文件夾中。
編譯器正在$(build.sourcesDirectory)
(因此D:\\a\\1\\
) 上方的目錄中尋找站點內容,因此糾正該錯誤的正確“復制文件”任務為:
每個站點都需要一個“復制文件”任務,並且必須將這些任務放置在“構建解決方案” .sln步驟之后,但在“構建解決方案” .ccproj步驟之前。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.