![](/img/trans.png)
[英]Continuous delivery of SQL Database to Windows Azure by using Team Foundation Service
[英]Issue with Database project (DACPAC) - Continuous delivery
我有Microsoft TFS生成過程,可以將Web項目部署到Azure Web角色,這種情況每天都會自動發生。 我已關注Azure文章https://azure.microsoft.com/en-in/documentation/articles/cloud-services-dotnet-continuous-delivery/
如上文章所述,我在構建過程中遵循了MSBuild參數
/t:Publish /p:PublishDir=C:\MSCD\
當我將數據庫項目添加到我的項目解決方案時,構建一直失敗。 收到錯誤消息
沒有為“ SqlPublishTask”任務提供必需參數“ SqlPublishProfilePath”的值
發布Web項目時,我不希望發布數據庫項目。 如何將DACPAC文件drop
到文件夾? 所以我可以使用Powershell在天藍色的情況下更新我的數據庫。
我正在使用TFS 2012內部部署。 有人可以對如何解決這個問題提出建議嗎?
您需要創建Master-child構建定義,並在master build definition中配置配置解決方案,並在Configuration Manager中禁用構建和部署。
創建母版和子版的定義,使它們共享共同的下落。
@Siva palla的回答為我解決了這個完全相同的問題。 這是我們為完成此工作而進行的完整更改的集合。
Visual Studio中的更改
最初,我使用的是稱為“ Deployment”的單個配置,該配置用於部署我們的WinForms項目和SQL項目(VisionShellWin是WinForms項目,兩個Vision.SQLMigration項目是SSDT項目),因此下面的內容都是基於對部署。 對於大多數人來說,您將擁有“發行版”而不是“部署”,以下所有內容仍然可以正常工作,只需用“發行版”代替“部署”即可:
要將單個配置分成兩個,我創建了一個新配置:
我設置了新的部署,以從舊的部署配置中復制其設置,而不是為每個項目創建新的配置(現有項目級別的部署都可以):
然后,在該新部署中,我取消選中用於構建和部署數據庫項目的框:
然后,我再次做完全相同的事情來創建數據庫特定的部署:
在那一本書中,我取消了除數據庫文件以外的所有內容:
這是Visual Studio所需的一切,因此我將所有內容都提交了,並將其同步回DevOps。
Azure DevOps中的更改
在DevOps中,我克隆了現有的Visual Studio Build階段(稱為“ Build Winforms解決方案”),並將克隆重命名為Build Databases:
我在“變量”選項卡中添加了兩個新的構建變量,名為ClickOnceBuildStageConfiguration和DatabasesBuildStageConfiguration,其值設置為我們剛剛在VS中創建的新配置的名稱:
然后,我更改了WinForms構建階段,以使用新的ClickOnceBuildStageConfiguration變量-請注意,我們仍然具有/T:"VisionShellWin" /target:Publish
設置ClickOnce所需的MSBuild參數:
在新的構建數據庫階段使用數據庫變量-請注意,我們沒有任何MSBuild參數:
最后,除了復制階段外,我還具有將ClickOnce應用程序文件復制到drop
工件中的功能:
我還添加了一個“復制文件”階段(稱為“復制Dacpacs”),也將DacPac復制到放置中:
完成所有這些操作之后,您應該以可以正常工作的構建和包含ClickOnce文件和DacPacs的構件為最終結果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.