2017-03-16 50 views
0

我正在使用TFS 2015 RM設置對IIS的連續部署,並希望在部署之前使應用程序脫機。很少有研究發現通過以下步驟通過「app_offline.htm」文件實現它的好帖子。使用app_offline和TFS2015 RM

  1. 創建在該網站的「根」,但使用不同的名稱(app_offline.htm_),以避免調試或相關問題的「app_offline.htm」文件。
  2. 在部署之前,將文件重命名爲「app_offline」並將其放入目標Web應用程序中。
  3. 部署後,我們從目標web應用程序中刪除文件。

目前,我已經包括了「Windows計算機文件複製」任務複製建立與「app_offline.htm_」到目的地的web應用程序一起二進制文件和「刪除文件」任務來刪除它部署後。

現在,我想了解的是如何在部署之前將文件重命名爲app_offline.htm。 對此的幫助將不勝感激!

回答

0

有很多方法可以做到這一點:

  1. 使用PowerShell(如Rename-Item)腳本通過PowerShell的目標計算機上(重命名文件,該文件在刪除機)或PowerShell的(上生成代理重命名文件機器)步驟/任務
  2. 通過部署Web應用程序WinRM-IIS Web應用程序部署步驟/任務與應用程序脫機選項。 (安裝IIS Web App Deployment Using WinRM擴展)
  3. 重新複製所有文件(包括app_offline.html)通過Windows計算機到目標機器文件複製clean目標選項
+0

與第2層的方式,我有一個快速的問題。我注意到擴展需要打包二進制文件,然後我們可以在擴展中引用這些文件。在這種情況下,我們是否需要包含另一個任務來解壓縮? – Sam

+0

此任務不解壓二進制文件,此外,因爲我已經添加了這些MS構建參數來壓縮二進制文件「/ p:DeployOnBuild = true/p:WebPublishMethod = Package/p:PackageAsSingleFile = true/p:SkipInvalidConfigurations = true/p: PackageLocation = $(build.artifactstagingdirectory)「 一旦我打開zip文件,我會得到這個冗長的文件路徑(Project.zip \ Content \ E_C \ WebWork \ 1 \ s \ Dev \ ProviderGeoSearch \ obj \ Release \ Package \ PackageTmp \ Allbinaries)文件。 嘗試複製發佈工件任務與minimatch ** \ PackageTmp以獲取內容只從PackageTmp文件夾在該冗長的路徑,它複製,但不是現在的zip文件 – Sam

+0

@Sam你不需要擔心的結構,它不會在將應用程序部署到IIS後保留結構。此外,該任務「解壓」軟件包文件。另一方面,有很多擴展可以壓縮或解壓縮文件。 https://marketplace.visualstudio.com/search?term=zip&target=VSTS&sortBy=Relevance –