7

我們有多個Hudson持續集成環境與自動化構建和測試,但我們不做任何形式的自動部署測試環境。從哈德森部署ASP.NET Web應用程序構建設置/ CI服務器

我不知道怎麼其他球隊正在部署自己的ASP.NET Web應用程序。我們的構建將構建工件與一些腳本封裝起來,以停止/啓動IIS,然後我們必須進入每臺服務器並運行安裝程序以安裝Web應用程序。

這正成爲我們流程中的一個瓶頸,我正在尋求簡化和/或自動化流程的建議,而無需登錄到每臺服務器來安裝最新版本。

+1

你有沒有最終使用MSDeploy和Hudson?如果是的話,你可以分享喜歡,不喜歡,配置技巧? – 2010-04-01 14:28:30

回答

4

如果您使用的是基於Unix/Linux的環境,則可能需要檢出FabricCapistrano。它們允許自動部署Web應用程序。

編輯:

如果您使用的是Windows,你可能要檢查出Web Deployment Tool for IIS。這似乎仍然處於「技術預覽」階段,但可能對您有用 - 我自己沒有親身體驗過它。

+0

不幸的是,我們幾乎完全是一家Windows商店。 – jamesaharvey 2009-09-23 16:50:03

+1

當我做了很多ASP.NET開發時,我們在CruiseControl.NET後面編寫了一些自定義代碼來執行此操作。你可能想要谷歌的「IIS部署工具」 - 我不確定這個微軟項目的狀態,但我知道它最終會做你想做的。 – 2009-09-23 16:58:29

0

我從來沒有使用它,但它看起來像Cargo可能是一個解決方案。

1

您是否想要部署到一個單一的環境或你想自動部署到所有的環境?

如果你正在一個環境中工作,通常很容易通過CI服務器自動發出腳本,或者在每次構建後自動完成,或者每晚或甚至根據需要進行編寫。

但是最好你想通過使用相同的部署自動化在所有環境中,從測試到生產。在這種情況下,與您的Ops人員交談並瞭解他們如何進行部署並制定一些通用腳本可能是有意義的。當我們(Urbancode/AnthilPro)談論deployment automation這通常是我們正在談論的以及我們向客戶推薦的內容。

如果你需要說服某人使這項投資是值得的,你可能會發現這個白皮書Build & Deployment Automation for the Lean Economy(pdf;需要註冊)有用。其中我們使用精益技術Value Stream Mapping來說明爲什麼自動化部署對團隊來說是一個巨大的勝利。當你意識到這種手動部署有多少「浪費」時,你正在描述自動化投資是一件容易的事情。

JTF

+0

我們有10多個測試環境和超過100個我們手動部署到當前的生產服務器。 – jamesaharvey 2009-09-25 18:31:08

+0

Yikes!那麼,想一想你會從自動化中恢復過來! :) 我建議你編輯你的問題來描述你在服務器上使用的技術:IIS vs Apache vs JBoss等,PHP vs .NET vs Java等等。我想你會得到更好的答案和更多的細節。 – 2009-09-27 03:37:49

0

Easiets方式過於使用哈德森/詹金斯也做到這一點。我使用jenkins build下的batch命令調用的一個簡單的deploy.bat。

的腳本看起來財產以後這樣的:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\msbuild.exe /p:DeployOnBuild=true /p:DeployTarget=MSDeployPublish /p:MSDeployPublishMethod=WMSVC /p:MSDeployServiceUrl=https://server:8172/msdeploy.axd /p:AllowUntrustedCertificate=true /p:DeployIisAppPath="Default Web Site" /p:Username=serverinstance\user /p:Password=somepassword /p:VisualStudioVersion=11.0 

然後在安裝IIS也允許遠程連接。你也很好!

相關問題