簡體   English   中英

數據庫項目(DACPAC)的問題-持續交付

[英]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項目),因此下面的內容都是基於對部署。 對於大多數人來說,您將擁有“發行版”而不是“部署”,以下所有內容仍然可以正常工作,只需用“發行版”代替“部署”即可:

在此處輸入圖片說明

要將單個配置分成兩個,我創建了一個新配置:

在此處輸入圖片說明

我設置了新的部署,以從舊的部署配置中復制其設置,而不是為每個項目創建新的配置(現有項目級別的部署都可以):

在此處輸入圖片說明

然后,在該新部署中,我取消選中用於構建和部署數據庫項目的框:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM