2009-02-23 123 views
1

首先,先前的情況:我們有一個單擊構建腳本的項目。它與TFS Deployer + PowerShell + VB Script拼湊在一起。 TFS部署者坐在生產機器上,將新的網站文件複製到一個全新的目錄中,然後調用一個VB腳本,將IIS網站更改爲新的目錄。遠程更改IIS6網站目錄

現在,我正在將團隊從TFS/MSBuild的恐怖中解救出來。我在專用的構建服務器上有一個TeamCity構建代理。一個簡單的NANT腳本通過共享文件夾將生成工件從生成服務器部署到生產服務器。簡單,快速,有效。

但是,我還沒有找到任何一種方法a)遠程運行VB腳本b)使用不同的機制遠程更新IIS站點(以編程方式在1次單擊構建中)。 Windows Server 2003/IIS6。有任何想法嗎?

更新:我通過創建另一個vbs來解決這個問題,這個vbs通過WMI遠程調用了舊的vbs。感謝大家!

回答

1

如果我要朝任何方向前進,我會考慮設置一個WMI腳本來完成這項工作,然後在有問題的服務器上對其進行配置。我將不得不考慮如何輕鬆地將其納入自動構建中。我個人還沒有與TeamCity合作過,儘管我已經參加過關於它如何工作的會議。

WMI也可能能夠運行該腳本,並且充當一種服務前端,因此您可能能夠重用已經花費在其上的東西。

1

您可以將vbscript文件更改爲同一服務器上不同網站中的ASP文件嗎?這將允許您遠程調用它。

1

我們使用NAntContrib'smkiisdir任務來創建/修改遠程機器上的虛擬目錄。

<mkiisdir iisserver="Staging" dirpath="c:\temp" vdirname="Temp" /> 

這應該可以創建(如果VDIR不存在)或改變位置(如果VDIR已經存在)。

一般來說,這樣做最簡潔的方法是首先刪除vdir與deliisdir任務,然後創建一個。

<deliisdir vdirname="Temp" failonerror="false" /> 
<mkiisdir dirpath="c:\temp" vdirname="Temp" accessread="true" accesswrite="false" accessscript="true" enabledirbrowsing="false" authntlm="true" authbasic="false" authanonymous="false" appcreate="Pooled" /> 

快樂編碼!