目前的情況是項目已經開始正式部署,開始上線,開始推廣。而且已經部署了二十幾次了,有幾次是新功能部署,有幾次是臨時的bug修複,有幾次是體驗的改進。
有幾次是在部署新東西之前拷貝整個檔案夾,有幾次是將需要覆蓋的檔案重新命名,前面添加一個當前的日期,甚至是時間。
參加了幾次部署,感覺手動拷貝和備份簡直是噩夢,由於是線上,不是自己的機房,沒有專線,頻寬不夠,所以速度很慢。越來越感覺到使用指令碼來加快部署是多麼的重要,無論是備份現有的代碼,還是備份現有的資料庫,還可以添加日期,為將來的版本規劃提供資料。如果是介面操作,肯定會等死人的。
目前還沒有決定使用何種版本定義方式。但是覺得目前的部署還是給後續的版本規劃留下了空間。目前的新功能部署,會先完整的備份現有的程式和資料庫。bug修複和體驗的局部改進會在現有檔案前面添加一個當前日期。完整的備份其實就可以是一個新的版本,備份過幾次版本號碼就是幾,前面帶有日期的單個檔案備份就是小版本號碼。這樣,等以後定了版本的定義方式,就可以用備份的檔案還原沒有版本規劃這段產生的斷層。
在部署的同時寫一些文檔,做一些記錄,時間,新功能是哪些,bug修複大概是什麼情況,體驗的改進又是哪裡,要是能截一些圖那就更好了。
在windows系統上做備份和部署,那就要說一下批處理bat檔案了。
為了更好的發揮批處理的威力,先來幾個約定。將內部部署和線上部署的檔案夾位置和檔案夾名稱統一,這樣在寫備份指令碼的時候只需要寫一套就可以到處運行了。當然,也可以寫成接受使用者輸入,然後決定需要備份的檔案夾和備份的物理目錄。但是感覺統一會給備份部署帶來極大的便利性,至少在目前是這樣的,以後再根據情境繼續改進。
現在做一些備份部署的規劃,目前需要備份的內容包括IIS的檔案夾,以及SQLServer資料庫,還有apache的設定檔和tomcat的webapps目錄以及tomcat的設定檔。部署就簡單了,修改設定檔,覆蓋IIS檔案夾,以及tomcat檔案夾,更新資料庫結構,匯入基礎資料。
如果是bug修複或者是局部的改進,則在需要覆蓋的檔案前面加上當前的日期,例如將file.txt變成2013-06-11.file.txt.bak。
完整備份就是將檔案和資料庫拷貝到d盤的backup目錄,按照日期+時間進行區分。
備份計劃:
停止IIS服務,備份IIS檔案夾。
停止資料庫服務,備份資料庫。
備份apache的設定檔。
備份tomcat的設定檔。
備份tomcat的webapps目錄。
指令碼就寫成上面的樣子就可以了。
部署計劃:
覆蓋或者新加IIS檔案夾。
變更資料庫結構,匯入基礎資料。
修改apache設定檔。
修改tomcat設定檔。
覆蓋或者新加tomcat檔案夾。
網站目前的Alexa排名。
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131228/11391Ub4-0.png" title="201306112319.png" />
本文出自 “突破中的IT結構師” 部落格,請務必保留此出處http://virusswb.blog.51cto.com/115214/1220915