我正在使用TFS Build與Web Deploy一起處理網站和服務部署到服務器的項目。我們還有一個需要部署到服務器的Windows服務。使用TFS Build來在遠程服務器上運行.bat文件
我的問題是:有沒有辦法從TFS構建服務器部署Windows服務到Web服務器?
我遇到的另一個問題是服務在部署之前需要停止。我試圖修改生成配置文件,但無法設法使其生效。
謝謝。
我正在使用TFS Build與Web Deploy一起處理網站和服務部署到服務器的項目。我們還有一個需要部署到服務器的Windows服務。使用TFS Build來在遠程服務器上運行.bat文件
我的問題是:有沒有辦法從TFS構建服務器部署Windows服務到Web服務器?
我遇到的另一個問題是服務在部署之前需要停止。我試圖修改生成配置文件,但無法設法使其生效。
謝謝。
選項:
如果您在Web服務器上安裝TFSBuildagent服務,並授予它運行在Web服務器上的服務管理員權限的用戶,那麼你可以只爲部署創建一個新的構建定義/安裝。這非常簡單直接,但只有當您的Web服務器數量有限(想要在所有2000臺服務器上安裝TFS BUild代理)並且只能在非產品環境中工作時才能使用。這就是我們爲非生產部署所做的工作,我創建了一個僅用於部署的構建定義,它負責處理所有事情,如停止服務等。
如果運行TFSBuild服務的用戶在構建服務器上的Web服務器上有足夠的權限,那麼您可以使用psexec或powershell來遠程運行您的命令。閱讀下面的鏈接:1. PSEXEC
你做了什麼你構建配置文件來停止該服務?用戶是否有足夠的權利?
沒有內置的活動/進程可以幫助您在TFS構建工作流程中的遠程計算機上運行腳本。
步驟1對於您是確定如何在遠程計算機上運行腳本,如上所述,您可以使用PSEXEC或Powershell(儘管在遠程計算機上運行PowerShell可能會稍微複雜一些) 。
第二步,編寫實際的腳本來完成的工作,停止服務,安裝MSI等
第三步,編輯您的當前構建確定指標 - 創建一個新的自定義活動或利用InvokeProcess活動從您的構建定義中調用您在步驟2中創建的腳本。InvokeProcess Activity
在服務器上安裝TFS Build不是一個選項。我希望有一種方法可以將它構建到構建配置工作流中,以調用遠程服務器上的命令。構建服務器在Web服務器上擁有完整的權限,因此帳戶可以執行這些操作,只需將其添加到工作流即可。 – sevargdcg
已經更新了我上面的答案 – Isaiah4110