一、功能驅動(FDD)
FDD是一個模型驅動的快速迭代開發過程,它強調的是簡化、實用、 易於被開發團隊接受,適用於需求常常變更的項目。它是可理解的、可度量的,而且能夠在有限的時間內實現。在開發過程當中,開發計劃的制定、報告的生成、開發進度的跟蹤均是以上述「功能」爲單位進行的。git
咱們使用git,就以git爲例:先按需求創建功能分支,開發完成後,進入測試環境提測;預生產測試;最後合到生產分支,即master分支(受保護的分支)。gitlab
二、git工做流程
![](http://static.javashuo.com/static/loading.gif)
咱們以gitlab爲例:測試
- 開始時,先創建master(主分支),能夠做爲生產分支。版本號v1。
- 從master拉取3個(或n個,根據本身項目),分別爲dev(開發環境)、test(測試分支)、uat(預生產)。版本號v1。
- 開發人員在dev分支進行開發,開發完成後,dev版本號變爲v2。
- 提測:開發人員提出dev v2合併test v1的請求,合併後test版本號變爲v2。測試人員進行提測。
- 預生產:開發人員提出test v2合併uat v1的請求,合併後uat版本號變爲v2。驗收人員進行驗收。
- 生產:開發人員提出uat v2合併prod v1的請求,合併後prod版本號變爲v2。注意:在合併前,要爲prod v1建立快照(git tag),創建一個穩定版本,以備線上出現問題能夠回滾到v1版本。
- 上線後:全部開發人員合併(merge)線上版本(prod v2),而後再從3步驟開始。