成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用Docker統(tǒng)一團(tuán)隊的開發(fā)環(huán)境

alin / 2461人閱讀

摘要:開場白作為一個技術(shù)團(tuán)隊的,你是如何保證成員的開發(fā)環(huán)境達(dá)到公司的標(biāo)準(zhǔn),或者是你定制的最低要求的如果你的回答是差不多就行了,有問題再說,那么,你已經(jīng)在給自己挖坑了。好的,成員們開始構(gòu)建你定制的開發(fā)環(huán)境了。

開場白

作為一個技術(shù)團(tuán)隊的Leader,你是如何保證成員的開發(fā)環(huán)境達(dá)到公司的標(biāo)準(zhǔn),或者是你定制的最低要求的?
如果你的回答是:差不多就行了,有問題再說,那么,你已經(jīng)在給自己挖坑了。

同事A的開發(fā)環(huán)境中用的是PHP 7.1,所以他在代碼里寫了這么一個函數(shù):

function getName(?int $id): string {
    return "name";
}

好的,?int 的意思是你的參數(shù)必須是數(shù)字,但是可以填一個數(shù)字以外的特殊類型,那就是null。


同事B用的是PHP 7.0,那么抱歉,他得這么改:

function getName(int $id = null): string {
    return "name";
}

?int需要被改成int,因為那是7.1的Nullable語法


同事C用的是 PHP 5.6,好的,繼續(xù)改吧:

function getName($id = null) {
    return "name";
}

所有的類型定義都得移除,沮喪嗎?



好的,你作為Leader?怎么選擇用哪個同事的代碼作為最終輸出?可想而知,選擇哪個都不合適。

選擇 7.1

同事C 在抱怨,要那么高的版本真的好嗎?我沒用過新特性,也不感興趣。

選擇 7.0

同事A 在抱怨了,新語法多簡潔啊,一個 ?int 就搞定了。

選擇 5.6

同事A/B 在抱怨,為什么不用強(qiáng)類型,寫代碼太沒樂趣了。




為什么

問題出在Leader,給了成員太多的選擇。會有什么后果?

優(yōu)點 缺點
部分成員的利益受損
內(nèi)部意見不統(tǒng)一,產(chǎn)生隔閡
可能出現(xiàn)被動學(xué)習(xí)新知識,生產(chǎn)力下降
維護(hù)多個不同時期的項目時,本地環(huán)境的版本切換十分不方便
你的領(lǐng)導(dǎo)能力受到質(zhì)疑
在誘惑面前,人們往往會選擇最有利于自己的方式。不要試圖去挑戰(zhàn)人性,作為Leader的你,必須比任何一個成員都先做出選擇。
正題 Docker

我不想講docker是什么,因為其他人的博客里已經(jīng)寫爛了。

你需要知道的是,你可以把開發(fā)環(huán)境扔進(jìn)docker,然后讓每個成員忘記自己電腦里的開發(fā)環(huán)境。至于用了什么版本的php、mysql、linux、nginx、nodeJs,已經(jīng)固定在docker里了。
你再也不用擔(dān)心你的成員會用其他版本的環(huán)境去寫代碼了,因為你已經(jīng)制定了你的規(guī)矩。

優(yōu)點 缺點
成員沒得選,只能用同一個版本的環(huán)境 Leader需要寫Docker配置
成員只需要知道docker怎么啟動,零學(xué)習(xí)成本
技術(shù)方面的交流障礙減少
代碼符合項目的基本需求,生產(chǎn)力提升
即使再多項目也沒關(guān)系,因為每個項目都是docker啟動,不需要考慮版本
Leader可以花更多精力在其它事情了
Dockerfile

也許你已經(jīng)寫完了所有的Dockerfile配置,并把這些文件放進(jìn)了項目的根目錄dockers/,同時為你的成員寫好了一個構(gòu)建腳本build.sh,接著加入版本控制(git,svn),最后推到git服務(wù)器等待成員拉取最新的開發(fā)環(huán)境。好的,成員們開始構(gòu)建你定制的開發(fā)環(huán)境了。

# 構(gòu)建鏡像
sh build.sh

# 查看構(gòu)建的鏡像
docker images

# 根據(jù)鏡像生成容器,僅供參考。本文不講述docker具體用法
docker run -it -d php:7.1 /bin/bash
docker run -it -d nginx:1.14.0 /bin/bash
docker run -it -d mysql:5.7 /bin/bash

犀利的你可能把生成容器的操作寫成一個腳本quick-start.sh,而且用的風(fēng)聲水起。筆者拍拍你的肩膀,同學(xué),為什么不用docker-dompose呢?

Docker Compose

可以這么說吧,這個東西就像是同時啟動了多個你想要啟動的鏡像,而且你還可以同時結(jié)束生成的容器。

# 同時啟動
docker-compose up

# 同時結(jié)束
docker-compose down

是的,很任性,你只需要配置一下你需要啟動哪些鏡像,然后把配置放到根目錄docker-dompose.yml中即可。
當(dāng)然了,還有更多特性,比如 哪些容器之間需要互相關(guān)聯(lián),被關(guān)聯(lián)的容器要用什么別名,需不需要等待關(guān)聯(lián)容器啟動完成之后再啟動自己,等等。。。

補(bǔ)充

如果您的項目比較多,那么推薦您利用git的子模塊(點擊訪問)去維護(hù)你的docker配置。這樣您改配置只要改一個地方,所有項目里面都會同步過去的,極大的提高了您的效率和維護(hù)成本。

# 假設(shè)已經(jīng)建好docker的git倉庫   git@git_repository_a
# 那么在您的開發(fā)項目中,初始化只需這樣做:
git submodule add git@git_repository_a

# 您會發(fā)現(xiàn)項目根目錄多了一個文件 .gitmodules 以及多了一個docker倉庫的文件夾
結(jié)語

可能不算是一篇技術(shù)文章,只是拋磚引玉,引導(dǎo)新的Leader怎么帶領(lǐng)團(tuán)隊走向正規(guī)化的道路。若是真要寫那么細(xì),可能10篇都不夠?qū)懥恕S惺裁醇夹g(shù)方面的問題可以在下方留言。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27339.html

相關(guān)文章

  • 五阿哥鋼鐵電商平臺Docker容器云平臺建設(shè)實踐——你想知道都在這里!

    摘要:容器云架構(gòu)方案。容器云架構(gòu)方案基于容器技術(shù),運(yùn)維技術(shù)團(tuán)隊開發(fā)了五阿哥網(wǎng)站的容器云平臺。多云對接私有云和公有云進(jìn)行統(tǒng)一托管,包含網(wǎng)絡(luò)區(qū)域配置,實例開通及的環(huán)境初始化配置等。技術(shù)選型及實踐鏡像標(biāo)準(zhǔn)眾所周知,的鏡像是分層的。 前言 五阿哥鋼鐵電商平臺(www.wuage.com)是由鋼鐵行業(yè)第一的中國五礦與互聯(lián)網(wǎng)第一的阿里巴巴聯(lián)手打造,并充分運(yùn)用雙方股東優(yōu)勢資源,即:阿里巴巴在大數(shù)據(jù)、電商運(yùn)...

    jeffrey_up 評論0 收藏0
  • 曾金龍:迅雷云Docker開發(fā)實踐

    摘要:問能否談一下迅雷云使用的過程其實最初的時候,迅雷團(tuán)隊對是懷有謹(jǐn)慎的態(tài)度的。三調(diào)度算法是迅雷云定制優(yōu)化的。迅雷在使用這方面一直沒有把數(shù)據(jù)層面交給迅雷云之外的系統(tǒng)。 非商業(yè)轉(zhuǎn)載請注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/201256 曾金龍就職于迅雷網(wǎng)絡(luò),是國內(nèi)覆蓋面最廣的迅雷P2P引擎核心研發(fā)成員。他畢業(yè)于中山大...

    iflove 評論0 收藏0
  • 阿里巴巴1682億背后“企業(yè)級”高效持續(xù)交付

    摘要:摘要在北京云棲大會上,阿里巴巴高級技術(shù)專家陳鑫花名神秀,給大家?guī)砹藘|背后的企業(yè)級高效持續(xù)交付,引起強(qiáng)烈共鳴。 摘要: 在2017北京云棲大會上,阿里巴巴高級技術(shù)專家陳鑫(花名神秀),給大家?guī)砹恕?682億背后的企業(yè)級高效持續(xù)交付》,引起強(qiáng)烈共鳴。神秀從技術(shù)負(fù)責(zé)人關(guān)心的研發(fā)流程混亂、質(zhì)量無法保障、環(huán)境管理低效、資源浪費(fèi)等方面,結(jié)合阿里巴巴的DevOps實踐,深度解析了企業(yè)級持續(xù)交付如...

    Youngs 評論0 收藏0
  • 宜信開源|詳解PaaS平臺LAIN功能和架構(gòu)

    摘要:是宜信公司大數(shù)據(jù)創(chuàng)新中心開發(fā)的開源平臺。為宜信大數(shù)據(jù)創(chuàng)新中心各個團(tuán)隊提供了統(tǒng)一的測試和生產(chǎn)環(huán)境,簡化了服務(wù)的部署與上線流程,也降低了運(yùn)維人員對系統(tǒng)管理的復(fù)雜度?;谌萜骷夹g(shù),面向多樣化的技術(shù)棧,并且天然隔離系統(tǒng)和應(yīng)用的依賴。 LAIN是宜信公司大數(shù)據(jù)創(chuàng)新中心開發(fā)的開源PaaS平臺。在金融的場景下,LAIN 是為解放各個團(tuán)隊和業(yè)務(wù)線的生產(chǎn)力而設(shè)計的一個云平臺。LAIN 為宜信大數(shù)據(jù)創(chuàng)新中...

    mist14 評論0 收藏0
  • 云計算與 Cloud Native | 數(shù)人云CEO王璞@KVM分享實錄

    摘要:分享實錄云計算技術(shù)源于互聯(lián)網(wǎng)公司,現(xiàn)在云計算已經(jīng)是下一代企業(yè)級的發(fā)展趨勢。如何做云計算一直是云計算技術(shù)的領(lǐng)導(dǎo)者?;ヂ?lián)網(wǎng)公司的快速發(fā)展,已經(jīng)印證了云計算技術(shù)和云原生應(yīng)用相比傳統(tǒng)構(gòu)架的巨大優(yōu)勢。 今天小數(shù)又給大家?guī)硪黄韶洕M滿的分享——來自KVM社區(qū)線上群分享的實錄,分享嘉賓是數(shù)人云CEO王璞,題目是《云計算與 Cloud Native》。這是數(shù)人云在KVM社區(qū)群分享的第一彈,之后還有數(shù)...

    _Zhao 評論0 收藏0

發(fā)表評論

0條評論

alin

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<