自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

自動(dòng)化的高效團(tuán)隊(duì)開發(fā)環(huán)境

開發(fā) 項(xiàng)目管理 自動(dòng)化
這兩天無意翻到幾個(gè)月前的Evernote筆記,看到了當(dāng)時(shí)對(duì)團(tuán)隊(duì)開發(fā)環(huán)境的一些想法??上Ш髞矸N種,這一想法未能得到實(shí)踐,只能將其完善后公諸于眾,立此存照,日后有空可以一試。

1. 引子

這兩天無意翻到幾個(gè)月前的Evernote筆記,看到了當(dāng)時(shí)對(duì)團(tuán)隊(duì)開發(fā)環(huán)境的一些想法??上Ш髞矸N種,這一想法未能得到實(shí)踐,只能將其完善后公諸于眾,立此存照,日后有空可以一試。

考慮這套開發(fā)環(huán)境是因?yàn)槲覀冇龅搅诉@些問題:

  1. 開發(fā)人員的環(huán)境并不統(tǒng)一:dev在osx,ubuntu 11.10和ubuntu 12.04上工作,而ux在windows下工作,協(xié)調(diào),解決問題不太方便,尤其是一個(gè)bug在A的系統(tǒng)出現(xiàn),卻在自己的環(huán)境下無法復(fù)用。
  2. 無法即刻搭建和線上同版本的環(huán)境,解決線上問題。小團(tuán)隊(duì)節(jié)奏很快,當(dāng)前的工作目錄可能和線上版本差幾天的代碼(diff可能已經(jīng)是巨量),所以當(dāng)線上出問題時(shí),將工作環(huán)境切換過去非常耗時(shí)(尤其是數(shù)據(jù)庫(kù)發(fā)生變化時(shí))。
  3. 為新員工構(gòu)建開發(fā)環(huán)境耗時(shí)且問題重重。這和***點(diǎn)有些類似,即在ubuntu下工作的構(gòu)建開發(fā)環(huán)境的流程在osx下會(huì)break。尤其是后期我們不斷有開發(fā)人員轉(zhuǎn)換系統(tǒng)到osx下。

當(dāng)時(shí)正好看到一篇關(guān)于 vagrant 的文章,感覺這正是我想要的救命稻草。

2. 理想的開發(fā)環(huán)境

我心目中理想的開發(fā)環(huán)境應(yīng)該是這樣子的:

· 編輯環(huán)境和運(yùn)行/測(cè)試環(huán)境分離。這意味著開發(fā)人員,不管是dev還是ux,可以使用任何她喜歡的系統(tǒng)進(jìn)行內(nèi)容的編輯,而其產(chǎn)出可以無縫地運(yùn)行在另一個(gè)統(tǒng)一的環(huán)境。無縫是很重要的體驗(yàn),如果分離意味著在兩個(gè)系統(tǒng)顯示地頻繁切換,那還不如不分離;在此基礎(chǔ)上的統(tǒng)一的環(huán)境則讓大家在同一個(gè)上下文中交流。

· 開發(fā)人員可以同時(shí)工作在好幾個(gè)版本下。在途客圈,一個(gè)relase(或者一個(gè)scrum)以兩周為周期,一周開發(fā),一周測(cè)試,然后就上線,如圖所示:

自動(dòng)化的高效團(tuán)隊(duì)開發(fā)環(huán)境

這意味著在任何一周,開發(fā)人員同時(shí)工作在3個(gè)不同的branch上,以week 3***天為例:Dalian已經(jīng)部署到線上,Edingburgh交付測(cè)試,而Florence正在開發(fā)中。開發(fā)人員能夠無痛地在這三個(gè)環(huán)境中任意切換,就像任務(wù)調(diào)度一樣,保存上下文,切換到另一個(gè)branch,開始工作。作為小團(tuán)隊(duì),我們不希望甚至不可能將有限的人員切成三份來運(yùn)作,所以應(yīng)該通過工具支持這種開發(fā)狀態(tài)。

· 能很好地支持持續(xù)集成。travis-ci.org 跑跑開源項(xiàng)目還可以,但商業(yè)項(xiàng)目就免了,而且其每次構(gòu)建都rebuild整套環(huán)境這個(gè)效率太低。

3. 構(gòu)建理想的開發(fā)環(huán)境

存在的問題和期望的解決方案已經(jīng)擺出來了,接下來就是如何實(shí)現(xiàn)的問題。這種場(chǎng)景是典型的虛擬機(jī)大展拳腳的地方,VmWare會(huì)很欣慰地?cái)[出VDI + vSphere的解決方案。不過小團(tuán)隊(duì)人少錢緊,自然只能尋找免費(fèi)的替代品,即之前提到的 vagrant。

什么是VAGRANT?

我對(duì)它的不太確切的理解是:一套自動(dòng)化創(chuàng)建,部署和使用虛擬機(jī)的工具。vagrant 原生支持virtualbox,這就足夠了。通過一系列CLI命令,我們可以很方便地操作虛擬機(jī)。

  • 創(chuàng)建并運(yùn)行虛擬機(jī):
    1. $ vagrant box add lucid32 http://files.vagrantup.com/lucid32.box   
    2. $ vagrant init lucid32   
    3. $ vagrant up 
  • 登入虛擬機(jī):
    1. $ vagrant ssh 
  • 打包虛擬機(jī):
    1. $ vagrant package --vagrantfile Vagrantfile.pkg 

更詳細(xì)的 vagrant 使用說明請(qǐng)參考其 文檔,這里就不詳細(xì)介紹。

如何使用VAGRANT構(gòu)建理想的開發(fā)環(huán)境

在這個(gè)模型中,大家交流的基礎(chǔ)是虛擬機(jī)。虛擬機(jī)隨時(shí)被創(chuàng)建,隨時(shí)又銷毀,有一個(gè)box服務(wù)器 vagrant repo 來統(tǒng)一存儲(chǔ)所有box并提供上傳/下載服務(wù)。box服務(wù)器提供兩類box:

  • 基準(zhǔn)box。每天半夜從GitHub pull相應(yīng)branch的代碼,并輔以對(duì)應(yīng)的database,自動(dòng)打包成一個(gè)基準(zhǔn)box。每個(gè)活躍的branch每天都會(huì)有一個(gè)新的基準(zhǔn)box?;鶞?zhǔn)box保存一周足矣。大家新的一天工作的基礎(chǔ)是基準(zhǔn)box。
  • PR box。解決線上問題時(shí),和QA,CI交流使用的box。

任意一個(gè)box都是一個(gè)沙箱,它包含和線上環(huán)境同版本的操作系統(tǒng),運(yùn)行環(huán)境。同時(shí)里面有對(duì)應(yīng)branch的代碼庫(kù)和數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)采用線上數(shù)據(jù)庫(kù)的一個(gè)子集,可以讓系統(tǒng)正常運(yùn)行即可。box和用戶的host OS間可以共享目錄,比如說代碼的目錄,這樣可以讓用戶通過host OS上的個(gè)性化編輯環(huán)境撰寫代碼。此外,box里的port和host OS的port要能一一映射,這樣用戶完全具有本地的測(cè)試體驗(yàn)。

詳細(xì)的環(huán)境和工作場(chǎng)景參見下圖:

自動(dòng)化的高效團(tuán)隊(duì)開發(fā)環(huán)境

適用場(chǎng)景

這樣的開發(fā)環(huán)境能滿足本地辦公團(tuán)隊(duì),甚至遠(yuǎn)程辦公團(tuán)隊(duì)的需要。

  • 同一個(gè)地點(diǎn)辦公的團(tuán)隊(duì),vagrant repo 服務(wù)器可以放在本地,以獲得***的下載速度。
  • 異地辦公或者服務(wù)于開源項(xiàng)目的松散團(tuán)隊(duì),可以把 bagrant repo 放在一個(gè)公網(wǎng)服務(wù)器,讓參與者都能訪問(安全性不在本文討論)。訪問速度的問題可以通過本地緩存來解決,這樣在多人下載同一個(gè)box時(shí)會(huì)有近乎本地訪問的體驗(yàn)。

4. 免責(zé)聲明

如引文所述,本文想法尚未來得及實(shí)踐,所以不保證能正常運(yùn)行,所以 “try it at your own risk”。筆者個(gè)人覺得這個(gè)想法的靠譜率在 90% 以上。

原文鏈接:http://tchen.me/posts/2013-04-25-engineering-environment-for-smart-team.html

責(zé)任編輯:林師授 來源: 陳天的博客
相關(guān)推薦

2021-10-14 06:52:47

自動(dòng)化開發(fā)環(huán)境

2024-03-20 13:19:53

2023-09-13 11:40:12

2015-06-09 13:45:14

2021-11-26 14:59:02

異常檢測(cè)網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)威脅

2009-09-07 09:15:42

自動(dòng)化服務(wù)虛擬化環(huán)境

2013-09-03 09:58:51

Web前端

2017-12-17 21:58:18

2018-01-24 17:11:39

CIO 云

2024-12-09 09:07:22

2024-10-06 13:05:43

2013-03-22 15:15:28

自動(dòng)化管理部署虛擬化

2014-06-26 09:23:34

2022-02-18 13:12:49

人工智能自動(dòng)化技術(shù)

2022-02-17 17:37:17

超級(jí)自動(dòng)化人工智能AI

2010-12-06 09:59:58

2020-04-29 11:28:54

智能自動(dòng)化機(jī)器人流程自動(dòng)化AI

2021-02-23 12:24:44

自動(dòng)化安全團(tuán)隊(duì)網(wǎng)絡(luò)安全

2020-12-08 06:20:49

前端重構(gòu)Vue

2012-02-27 17:34:12

Facebook自動(dòng)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)