阿里云持續(xù)部署環(huán)境-云效使用簡(jiǎn)介

云效,一站式企業(yè)協(xié)同研發(fā)云,源于阿里巴巴多年先進(jìn)的管理理念和工程實(shí)踐,提供從“需求->開發(fā)->測(cè)試->發(fā)布->運(yùn)維->運(yùn)營(yíng)”端到端的協(xié)同服務(wù)和研發(fā)工具支撐。

開發(fā)理念:git分支模式。當(dāng)從產(chǎn)品接到新的任務(wù)后,需要?jiǎng)?chuàng)建一個(gè)此任務(wù)的feature分支。需要完成這個(gè)任務(wù)的人員都在此分支下開發(fā)。master分支,是任何研發(fā)人員都不能去(push)提交,只有當(dāng)分支代碼上線完成后,通過工具(腳本)的方式將分支merge到master上。任何研發(fā)人員每天一來都需要從master拉取代碼,合并到自己的開發(fā)分支上,從而保證少的沖突。
云效有幾個(gè)概念:項(xiàng)目、應(yīng)用、流水線、特性分支。

1.創(chuàng)建項(xiàng)目

2.創(chuàng)建應(yīng)用

一個(gè)項(xiàng)目中可以有多個(gè)應(yīng)用,每個(gè)應(yīng)用會(huì)關(guān)聯(lián)一個(gè)git代碼庫(kù),一個(gè)應(yīng)用中可以包含多個(gè)流水線。

3.創(chuàng)建流水線

流水線可以分為日常環(huán)境、預(yù)發(fā)布環(huán)境、產(chǎn)品環(huán)境,當(dāng)然也可以自定義環(huán)境,比如灰度等。對(duì)于一個(gè)比較大的項(xiàng)目,很多研發(fā)人員都在往里面修改或添加功能。當(dāng)然這個(gè)本身是有問題的,項(xiàng)目拆分得不夠細(xì),策略是比較獨(dú)立的功能逐步往新項(xiàng)目拆。正常情況下測(cè)試環(huán)境一個(gè)就可以了,但是可能會(huì)出現(xiàn)以下問題。
1)在測(cè)試feature分支的時(shí)候,線上出現(xiàn)了一個(gè)bug需要緊急修復(fù)??赡躥eature分支和bug分支修改相同的文件,那么一起提交到測(cè)試環(huán)境的時(shí)候,就會(huì)出現(xiàn)沖突,就算解決沖突后,代碼環(huán)境和線上不一致,可能測(cè)試不出來。
2)對(duì)于多個(gè)feature分支都在測(cè)試的時(shí)候,一個(gè)feature測(cè)試好了后需要上線,兩個(gè)feature一起的時(shí)候可能正常,但是一個(gè)feature上線可能就不正常,上線到預(yù)發(fā)布環(huán)境后,加大了測(cè)試同學(xué)工作量。
3)一部分人在開發(fā)聯(lián)調(diào)階段、一分部人需要提測(cè)或上線,造成測(cè)試環(huán)境極不穩(wěn)定。
所以目前我們測(cè)試環(huán)境分了3個(gè)版本。feature功能性測(cè)試環(huán)境、hotfix需要快速上線環(huán)境、debug聯(lián)調(diào)環(huán)境,這個(gè)3個(gè)環(huán)境對(duì)應(yīng)到不同的服務(wù)器。
流水線里面可以做什么?配置不同的環(huán)境、分發(fā)不同的機(jī)器、通過不同的shell腳本來處理代碼(打包等)。 云效中上線到流水線是先從master checkout 一個(gè)release分支,然后將上線的分支逐一合并到release分支。

下圖是一個(gè)通過了測(cè)試環(huán)境,準(zhǔn)備上線的流水線。


flowline.png

流水線設(shè)置


seting.png

單元測(cè)試、部署、人工卡點(diǎn)、合并主干,上圖的這些順序是可以拖動(dòng),且在每個(gè)環(huán)境都可以不一樣,一般是研發(fā)提交上線后,會(huì)進(jìn)入人工卡點(diǎn),測(cè)試通過后就進(jìn)入部署環(huán)節(jié),最后上線通過后,會(huì)合并到master。

4.特性分支

在云效中可以創(chuàng)建一個(gè)全新的git特性分支,也可以關(guān)聯(lián)已有的git分支。特性分支有幾個(gè)狀態(tài):開發(fā)中、待發(fā)布、發(fā)布中、刪除。開發(fā)完成后,需要點(diǎn)擊提交到待發(fā)布,然后才可以在流水線中看到待發(fā)布分支。

應(yīng)用中的環(huán)境配置


env.png

感悟:云效確實(shí)解決了我們?nèi)藛T擴(kuò)張后,隨之而來的是開發(fā)上線的效率低下問題。我們之前通過walle部署上線和svn版本管理。所有的代碼都提交到主分支上,導(dǎo)致不同feature上線時(shí)間不一致,需要將別人代碼回滾,因?yàn)榇蠹叶伎赡苄薷南嗤奈募?,而且還是多人多次相互提交,回滾代碼相當(dāng)困難。切換到云效模式后,當(dāng)然也會(huì)出現(xiàn)不同feature修改相同文件,那么解決辦法是先上線的不管(已經(jīng)合并到master),后上線的再合并master的代碼。

參考:https://www.aliyun.com/product/yunxiao

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 阿里妹導(dǎo)讀:代碼分支模式的選擇并沒有絕對(duì)的正確和錯(cuò)誤之分,關(guān)鍵是與項(xiàng)目的規(guī)模和發(fā)布節(jié)奏相匹配。阿里協(xié)同研發(fā)平臺(tái)在經(jīng)...
    晴天哥_王志閱讀 534評(píng)論 0 4
  • 通過這兩個(gè)月學(xué)習(xí)《活法》,讓我感觸頗深,心里總是被他那通俗的語句和普通的人生哲學(xué)所感動(dòng)。 在工作中,很多工作都...
    xwy_df9b閱讀 324評(píng)論 0 0
  • 我讀的書是大學(xué),里面的第四章。 好詞,下筆千言,離題萬里,一揮而就,脫口成章,過目不忘。 ...
    林沁鈺閱讀 149評(píng)論 0 0
  • 無論是在何種編程語言中,函數(shù)都是最常用的語法結(jié)構(gòu)了。 根據(jù)需求寫出函數(shù)不難,但寫好一個(gè)函數(shù)卻并不容易。 請(qǐng)看下面的...
    徐朝_尼克徐閱讀 1,531評(píng)論 3 3
  • 哈哈哈哈哈!我這就是赤果果的釣魚!點(diǎn)進(jìn)來的人全都面壁去?。。?!
    莊諧閱讀 2,110評(píng)論 35 4

友情鏈接更多精彩內(nèi)容