Gitlab:管理項(xiàng)目的生命周期
gitlab 是一個(gè)集項(xiàng)目管理苛聘,代碼審查,持續(xù)集成于一身的系統(tǒng)秃流,同時(shí)該系統(tǒng)也是開源的赂蕴。
最開始的需求調(diào)研之后,我們會(huì)在 gitlab 上面錄入我們要實(shí)現(xiàn)的需求舶胀,并為需求分配具體的負(fù)責(zé)人員概说。
開發(fā)人員看到需求之后,再進(jìn)行具體的細(xì)分嚣伐,將細(xì)分后的條目錄入系統(tǒng)糖赔,并且打上不同的標(biāo)簽方便管理,同時(shí)還可以設(shè)置預(yù)計(jì)的完成時(shí)間轩端。
開發(fā)人員針對(duì)某個(gè)需求開發(fā)完成后放典,將代碼上傳到系統(tǒng),并發(fā)起合并請(qǐng)求。此時(shí)代碼審查人員得知后進(jìn)行審查奋构,通過后合并到主倉庫骨田,并且該請(qǐng)求能夠與現(xiàn)有的需求關(guān)聯(lián),方便我們查看每個(gè)需求對(duì)應(yīng)的具體修改声怔,甚至可以深入到代碼的具體行數(shù)。
此時(shí)舱呻,配合系統(tǒng)自帶的CI(持續(xù)集成)功能醋火,我們?cè)O(shè)定了全自動(dòng)的代碼規(guī)范檢查,基本不需要審查人員干預(yù)箱吕,只需要觀察最后的結(jié)果芥驳,點(diǎn)擊合并按鈕即可。
CI不僅可以自動(dòng)化代碼審查茬高,還可以實(shí)現(xiàn)自動(dòng)編譯兆旬,這樣運(yùn)維人員就可以直接從系統(tǒng)下載編譯好的更新包,直接拿到生產(chǎn)環(huán)境部署怎栽。如果生產(chǎn)服務(wù)器處于聯(lián)網(wǎng)狀態(tài)丽猬,我們還可以設(shè)置CI自動(dòng)部署到生產(chǎn)環(huán)境,運(yùn)維人員的壓力大大減小了熏瞄。
需求 - 任務(wù)細(xì)分 - 開發(fā) - 自動(dòng)審核 - 自動(dòng)部署脚祟,這就是我們軟件開發(fā)的一個(gè)完整的生命周期。
當(dāng)然强饮,gitlab本身的功能并不僅于此由桌,可擴(kuò)展性很高。不過邮丰,根據(jù)團(tuán)隊(duì)自身規(guī)模自訂流程才是正確的做法行您。
Node.js + Vue.js + Webpack
為什么我們選擇這套技術(shù)棧?
- 只需要Javascript這一門語言剪廉,就可以完成所有開發(fā)娃循。
- 我們的產(chǎn)品,需求變化頻繁斗蒋,Javascript的動(dòng)態(tài)特性能夠很好的支持需求變更
- Javascript 是開源社區(qū)最流行的語言淮野,擁有數(shù)量最多的開源庫支持
- 學(xué)習(xí)曲線平緩,一個(gè)之前完全沒接觸過Node.js和Vue.js 的同事吹泡,3個(gè)月后骤星,現(xiàn)在寫代碼比我還快了。
- 更快的開發(fā)響應(yīng)爆哑,你對(duì)代碼的修改洞难,能夠以極快的速度馬上看到,完全不需要手動(dòng)重啟或者其他任何操作
- Node.js 采取異步非阻塞模型揭朝,對(duì)請(qǐng)求的響應(yīng)速度更快
- vuejs 極大減少對(duì)DOM的操作队贱,減輕了網(wǎng)頁開發(fā)的負(fù)擔(dān)
- webpack把眾多分散的js文件打包起來色冀,并且徹底解決<script>標(biāo)簽依賴不明的問題
- 可擴(kuò)展性強(qiáng),必要時(shí)可以使用Java或者其他語言編寫計(jì)算密集型任務(wù)柱嫌,然后使用Node.js 調(diào)用锋恬,異步非阻塞模型非常適合做這種工作