對於我的編程任務,我使用大約2-3臺遠程服務器來針對不同條件部署和運行我的代碼。由於服務器配置需要強大的硬件,因此無法在本地模擬。大部分時間我需要停止服務,更新二進制文件,啓動服務,實時查看日誌,下載日誌。目前我正在做這個手動,隨着時間的推移這成爲一個真正的痛苦的屁股,尤其是因爲環境是不理想的網絡帶寬,可靠性等方面服務器開發工具?
我只是想知道如果服務器程序員的人有類似問題以及你如何對待它們。任何特殊的工具/提示/祕密?
對於我的編程任務,我使用大約2-3臺遠程服務器來針對不同條件部署和運行我的代碼。由於服務器配置需要強大的硬件,因此無法在本地模擬。大部分時間我需要停止服務,更新二進制文件,啓動服務,實時查看日誌,下載日誌。目前我正在做這個手動,隨着時間的推移這成爲一個真正的痛苦的屁股,尤其是因爲環境是不理想的網絡帶寬,可靠性等方面服務器開發工具?
我只是想知道如果服務器程序員的人有類似問題以及你如何對待它們。任何特殊的工具/提示/祕密?
聽起來像您可以使用Scripting with Windows PowerShell自動完成您正在執行的許多手動任務。
單元測試和嘲笑幫助。而不是必須一直運行所有強大的東西,您可以將其保存爲每晚構建煙霧或CI服務器作業(大部分時間)。
同樣,使用分佈式CI服務器(如Hudson或Buildbot)可幫助您將分發和測試腳本編寫到所有機器。
你不能用單元測試來測試所有的東西。實際上,UT在爲完全不同的配置創建服務器應用程序時並不是非常有用。任何事情都可能發生,UT無法模擬。 – 2009-12-16 16:55:26
我同意,你不能測試一切,最後,你需要測試你的模擬的真實性,如果你有一個現有的BigBallOfMud,UT很難。但是,你可以測試很多。通過良好的組件設計和豐富的模擬對象,您可以避免必須經歷整個週期。 UT對於創建應用程序以完全不同的配置運行非常有用,因爲創建對象隱藏起來更容易,並且模擬模擬不同環境的行爲,而不是將二進制文件發佈到所有各種測試環境,每一次改變。 – 2009-12-17 10:00:30
我現在正在使用scriping,但其餘時間仍需要很多時間。就像打開RDP會話來實時查看日誌一樣。 – 2009-12-16 16:46:55