我為一家擁有全球分銷站點的公司編寫軟體。該軟體運行在世界各地的各種 Windows (server 2003) 伺服器上。
使用者透過從伺服器上的共用存取該軟體來運行該軟體。每個伺服器都運行一套服務,這些服務構成了我們應用程式的基礎架構。
當我們進行升級時,我們傾向於在每台伺服器上執行以下任務
- 停止所有服務
- 將新的二進位檔案從中央位置複製到伺服器
- 運行任何資料庫更新腳本
- 啟動服務
- 祈禱一切順利。
這是一項非常手動、繁瑣、耗時且容易出錯的操作。
我想知道是否有人可以推薦軟體來自動化我們的發布流程?
我真的很喜歡「回滾」功能以及安排發布的能力。
歡迎所有建議。
答案1
Microsoft 的解決方案是 SCCM,以前稱為 SMS。您的預算是多少?它不是免費的,但您沒有說您需要低成本的解決方案。
答案2
我已經使用 CFengine 來實現這一點,但那是在 Linux 上。我認為 CFEngine 也支援 Windows,但我認為它是付費版本。您可以使用它在所有伺服器上運行腳本或配方。
答案3
如果您正在尋找免費的解決方案,您可以嘗試PDQ部署(我們的產品)。它限制您每次部署只能執行一個操作,但您可以輕鬆地使用批次腳本來執行多個步驟,並且只需使用 PDQ Deploy 在伺服器上執行 .bat。
答案4
我用創新設定(免費軟體)用於此類事情。雖然乍一看它看起來只不過是一個簡單的安裝程序,但它實際上有一個非常開放的腳本語言,可以執行非常複雜的任務。做你所描述的事情是輕而易舉的事。對我來說唯一的缺點是腳本是基於 Pascal 的,我通常不使用 Pascal 進行程式設計。