部署(IMO)數據庫/網站的
- 備份的最佳做法
- 一切是腳本化的 - 無需手動連接到數據庫以添加該額外列
- 您已經在暫存區域上測試了部署(位於副本上實時數據)
- 你有一個回滾計劃(即使它只是恢復數據庫)
- 部署是可重複的 - 它應該包含根據該版本設置站點所需的所有文件,而不僅僅是那些文件改變。
- 對於每個環境,您都發布完全相同的版本,從分期到生產時不會生成新版本的代碼
- 從構建服務器而不是從單個開發人員計算機發布,應該如此不管誰釋放,都是一樣的。
- 較小你釋放生活的變化不太可能出錯,釋放出應該經常發生,它應該很容易
從技術上講沒有什麼錯,直接從TFS釋放到生產,只要你」一路上已經充分測試了代碼。
其中不少具有開發夢想變爲類似的代碼
- 開發者檢查
- 構建服務器抓取代碼,確保它建立理想的環境,運行所有的單元測試
- 構建服務器將代碼部署到測試機器上並運行自動化測試
- 如果一切都通過,則代碼被按住
當然,沒有太多的開發公司有足夠的單元/自動化測試,他們覺得安全地推動它快速生活。
TFS部署者在後臺做了很多工作,大多數人甚至不會知道它不是TFS的功能。它還可以與所有構建和測試功能大量集成,從而確保代碼質量首先處於良好狀態。
代碼凍結是一個壞主意,你不希望你的開發資源在不允許觸摸代碼的地方停機。相反,你應該看看適合你的分支策略。有很多在那裏,但這裏的主3我能想到的:
質量爲基礎的 - 你保持一個分支的開發,一個用於分期,一個用於生產。當代碼通過每一組測試時,您都將其變更集手動合併到下一個分支中。這也意味着您可以輕鬆修復生產中的錯誤,而無需發佈尚未準備好的新更改
基於版本 - 您在主分支中進行所有開發,當版本完成時,您將其分支並僅觸摸分支來修復錯誤。這也允許您在不發佈新的未經測試的代碼的情況下針對實時(或您可能支持的任何其他版本)進行錯誤修復。
基於功能 - 所有開發都發生在新分支中,一旦完成,它將合併回主幹。樹幹是唯一被釋放的分支。
我會建議不分支,直到需要分支。很多人不知道你可以從一個特定的變更集/日期分支出來。這意味着如果你知道什麼時候發佈了,你可以在需要應用錯誤修復時將其分支,然後將它合併回主幹。當然,由於您需要始終知道服務器上運行的是什麼變更集,因此需要更多的關於釋放的規定。
當然,我可能會錯誤地閱讀你的文章,也許你並沒有要求有關部署的最佳實踐,而是真正問如何讓你的經理相信事情在他們上線之前需要進行測試。如果是這樣,你有更大的問題。開發人員(通常)不是很好的測試人員,當然不是他們編碼的東西。如果您沒有專門的測試人員和流程來執行單元測試和自動化測試,那麼您應該首先考慮這一點。
您是使用Visual SourceSafe(VSS)還是使用Team Foundation Server(TFS)? –
VSS,BTW,大約還有360天的支持。請參閱http://support.microsoft.com/lifecycle/search/default.aspx?sort=PN&qid=&alpha=Visual+SourceSafe+2005&Filter=FilterNO –
我們使用的是TFS。對不起,我以爲我說得很清楚。 –