2008-09-03 99 views
8

我正在尋找一些可以將文件從開發機器複製(最好只是更改)到分段機器,最後到一組生產機器的東西。什麼是Windows上的網站的良好部署工具?

如果能夠「回滾」上次部署,「假設」模式將會更好。數據庫遷移不是必需的功能。

更新:免費/低成本的工具將是偉大的,但成本不是唯一的關注。實際上可以管理從一個環境到下一個環境(dev-> staging-> production,而不是從開發機器到每個環境)的部署的工具也是理想的。

的另一大可有可無已經是隻複製更改文件的能力 - 我們的一些舊網站的容納數百.asp文件。

回答

0

我們使用這是很好的定製,並允許您保存配置文件部署到不同的服務器UnleashIt(不幸的名字,我知道)。它還具有「備份」功能,可在部署之前備份生產文件,因此回滾應該非常容易。

+0

對不起否決COS崩潰我的Windows Server 2008上請加評論如果你遇到其他情況。看起來像一個偉大的小工具,但我剛剛進入下一個選項... – 2008-10-29 05:20:56

1

不指定,如果你正在使用Visual Studio .NET,但也有在Visual Studio 2005和2008年的幾個內置的工具:

複製網站工具 - 基本上是一個可視化的同步工具,它突出顯示文件並讓您從一個文件複製到另一個文件。手動,內置於Visual Studio。

aspnet_compiler.exe - 讓你預編譯網站。

當然,您也可以創建一個web部署包並作爲MSI進行部署。

我用克魯斯Control.NET,楠和MSBuild的組合來編譯,並換出特定的環境配置文件和文件複製到構建輸出目錄。然後我們有另一個腳本來完成文件複製(如果需要的話可以運行數據庫腳本)。

對於回滾,我們會保存所有之前的部署,因此從理論上回滾只是參與重新部署的最後一個工作版本(和恢復數據庫)。

2

@Sean Carpenter你能告訴我們更多關於你的環境嗎?解決方案應該是免費的嗎?簡單?

我發現robocopy對於這類事情非常光滑。用批處理文件包起來,你很好。這是一個光榮的xcopy,但部署我的網站並不是很難。只需複製文件。

只要回滾...你正在使用源代碼控制權嗎?只需將舊源從那裏拉出即可。或者,在您的批處理文件中,也可以將部署複製到另一個名爲網站yyyy.mm.dd的文件夾,以便在緊急情況下準備好一個可愛的文件夾。

請查看for命令以獲取有關如何獲取日期部分的詳細信息。

robocopy.exe 
for /? 

是的,這是一個總「黑客」,但它很好地移動文件。

2

對於一些場景我用了一個免費產品叫SyncBackDownload here)。

它提供了複雜的多步驟文件同步(文件系統或FTP等,壓縮等)。該程序有一個很好的圖形用戶界面。您可以定義配置文件並將它們組合在一起執行。

您可以在文件類型,名稱等上設置過濾器,並在作業執行後執行命令/程序。還有一個作爲html報告提供的工作日誌,如果您安排工作,可以通過電子郵件發送給您。

還有一個專業版本的軟件,但對於常見的任務,免費應該做的很好。

alt text

+0

很酷。並在2分鐘內運行。只是有點令人困惑的是,對於FTP傳輸,您必須單擊高級,配置設置,然後單擊「目標」旁邊的目錄圖標進行連接 – 2008-10-29 05:29:47

0

我已經放棄試圖找到一個可行的好免費的產品。 然後,我發現微軟的同步玩具2.0,雖然缺乏選擇效果很好。

但我需要部署到遠程服務器。

由於我連接終端服務,我意識到我可以選擇我的本地硬盤驅動器,當我連接,然後在遠程服務器上的資源管理器中,我可以在遠程服務器上打開\\tsclient\S\MyWebsite

然後我使用該路徑的synctoy並將其與我的服務器同步。似乎到目前爲止工作得很好,而且速度很快...

0

也許rsync加上一些自定義腳本可以做到這一點。

+0

不確定在Windows上運行rsync需要什麼。 – 2009-12-23 15:57:03

0

嘗試repliweb。它處理完整回滾到以前版本的文件。我已經使用了同時爲客戶誰要求它的用途和我的工作,已經成爲它的忠實粉絲,partiularily:

  • 回滾到以前的代碼版本
  • 認證和規則不同的用戶角色
  • 部署到多個環境
  • 通過電子郵件/日誌statiing發生了什麼變化,用戶完全報告,目前的版本是什麼等
相關問題