簡體   English   中英

用於部署過程的MSBuild文件

[英]MSBuild file for deployment process

我可以使用一些指針,代碼示例或參考來幫助我在msbuild文件中執行以下操作,以幫助加快部署過程。

這種情況涉及將開發人員的“本地”版本安裝到“開發”服務器上。

  1. 增加開發人員本地Web應用程序程序集版本號
  2. 在某個地方發布開發人員本地Web應用程序文件
  3. .rar已發布文件或文件夾,格式為v [IncrementedAssemblyNumber] .rar
  4. 將.rar復制到某個地方
  5. 以Pre_v [IncrementedAssemblyNumber] .rar格式備份(.rar)現有的在線網站文件夾(位於其他位置)
  6. 將備份的.rar移至/ Backup文件夾。
  7. 用發布的本地Web文件覆蓋開發Web文件

對於所有那些MSBUILD Gurus來說應該很簡單。

就像我說的,答案或“良好且適用”的鏈接將不勝感激。

我也想得到一本MSbuild書籍。 據我所知,有2個競爭者。 我沒有使用TFS。 誰能推薦一本開始MSBUILD的書? 理想情況下,這些人應該閱讀一本以上的書。

干杯,

-李

我認為對於構建部分,您當然應該使用MSBuild 對於部署方面,您可能需要查看Microsoft Web部署工具(MSDeploy) 它支持備份網站(通過.zip文件)和更新。 我要做的是創建一個MSBuild文件,該文件將調用MSDeploy。 PowerShell也將是調用MSDeploy的良好驅動程序。 您可以單獨使用MSBuild來完成相同的任務,但是會更加困難。

您的帖子使我感到奇怪的是您對“開發人員本地網站...”的引用。 如果可能的話,您應該擁有一個構建服務器,該服務器負責創建將要用於非開發環境的所有產品。 正如有人提到的那樣,一個不錯的免費CI服務器是CruiseControl.NET

關於書籍,您可以在Microsoft Build Engine內部查看:使用MSBuild和Team Foundation Build 如果您不使用TFS(以及團隊建設),則可以。 MSBuild上的章節(12之9)與TFS無關。

-編輯:假設您正在使用.NET ...

使用NAnt,並使用NAnt Contrib(稱為MSBuild)。 這將為您提供一個基本系統:)

-編輯

當然,您還應該獲得CI服務器(例如CruiseControl.NET),並將其連接到源控制系統(例如SVN),然后在該服務器上進行構建。

代碼不應從開發人員的手中轉到部署服務器。 它應該從源控制通過CI(例如CruiseControl.Net)進入您的部署環境。

  1. 安裝CruiseControl.Net(CC.NET)
  2. 連接CC.Net,將源代碼控制文件拉到CC.NET計算機上。 使用CC.NET任務執行此操作。 有一個SVN任務,TFS任務等。
  3. 編寫一個msbuild定義文件(.proj),以執行大多數構建邏輯。 我將文件放在源控制中的.sln文件旁邊。
  4. .proj文件將構建您的.sln。
  5. 在.proj文件中添加任務以壓縮(rar)您的構建工件(構建的輸出),發布,無論您想做什么。
  6. 您可以設置一些CC.NET“發布”任務。 通常,最主要的是向一群人發送電子郵件,告知他們構建成功/失敗。

如果將大多數構建邏輯放在.proj文件中,並且從CC.NET換成另一個CI工具,則這樣做的工作量很小。 使用以上內容,您只需要交換源代碼控制文件的提取和少數發布事件(CC.NET專有任務)。 .proj文件將轉移到其他CI工具。 我們從CC.NET轉到TFS,由於我有這種預見,因此更改很小。 如果我使用CC.NET特定任務而不是.proj,則轉換將很痛苦。

http://mikefourie.github.io/MSBuildExtensionPack/

https://github.com/loresoft/msbuildtasks

有很多額外的功能。 大多數msbuild需求已被某人編碼。

而且,如果一推再推,您總是可以創建一個自定義msbuild任務。 但這幾天很少見。

有基本輪廓。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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