国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

walle-瓦力自動化部署工具

Allen / 1415人閱讀

摘要:項目地址瓦力,上線開源兩個月,目前已支持超過十家企業(yè)線上部署使用,每周更新一個版本,持續(xù)帶來新特性。支持開放接口支持第三方了解更多項目地址瓦力,官方主頁瓦力。

1 Git Flow

一般而言,軟件開發(fā)模型有常見的瀑布模型、迭代開發(fā)模型、以及最近出現(xiàn)的敏捷開發(fā)模型等不同的模型。每種模型有各自應用場景,Git Flow是構建在Git之上的一個組織軟件開發(fā)活動的模型,Git Flow重點解決的是由于源代碼在開發(fā)過程中的各種沖突導致開發(fā)活動混亂的問題。在此介紹Git Flow是由于walle依賴它的思想進行持續(xù)部署。

開發(fā)過程中可能出現(xiàn)的git flow

1.1 Git Flow中的分支

Git Flow模型中定義了主分支和輔助分支兩類分支。其中主分支用于組織與軟件開發(fā)、部署相關的活動;輔助分支組織為了解決特定的問題而進行的各種開發(fā)活動。分支的名字是一種共識,更重要的是它承擔的責任。

1.2 主分支

主分支是所有開發(fā)活動的核心分支。所有的開發(fā)活動產生的輸出物最終都會反映到主分支的代碼中。主分支分為master分支和development分支。

1.2.1 master分支

master分支上存放的應該是隨時可供在生產環(huán)境中部署的代碼,它承擔的責任就是:僅在發(fā)布新的可供部署的代碼時才更新到master分支上的代碼。當開發(fā)活動告一段落,產生了一份新的可供部署的代碼時,master分支上的代碼會被更新。同時,每一次更新,最好添加對應的版本號標簽(TAG)。

1.2.2 develop分支

develop分支是保存當前最新開發(fā)成果的分支,它承擔的責任就是功能開發(fā)完畢等待最后QA的驗收,通常這個分支上的代碼也是可進行每日夜間發(fā)布的代碼。當代碼已經足夠穩(wěn)定時,就可以將所有的開發(fā)成果合并回master分支了。

1.3輔助分支

輔助分支是用于組織解決特定問題的各種軟件開發(fā)活動的分支,它的生存周期伴隨著它的功能完成而消失。輔助分支包括:

用于并行開發(fā)新功能時所使用的feature分支;

用于輔助版本發(fā)布的release分支;

用于修正生產代碼中的缺陷的hotfix分支。

當這些分支完成它的使命之后在merge到主分支之后,也將被刪除。

Git Flow開發(fā)模型從源代碼管理角度對通常意義上的軟件開發(fā)活動進行了約束,讓小組各個成員之間的開發(fā)相互隔離,能夠有效避免處于開發(fā)狀態(tài)中的代碼相互影響而導致的效率低下和混亂,各自開發(fā)團隊根據(jù)自己的特點和節(jié)奏自行剪裁或擴展。

2 Walle介紹
2.1是什么?

Walle 一個web部署系統(tǒng)工具,可能也是個持續(xù)發(fā)布工具,配置簡單、功能完善、界面流暢、開箱即用!支持git、svn版本管理,支持各種web代碼發(fā)布,靜態(tài)的HTML、動態(tài)PHP、需要編譯的JAVA等,用戶權限管理,各種自定義高級任務。一鍵上線、回滾。

項目地址:walle-瓦力,上線開源兩個月,目前已支持超過十家企業(yè)線上部署使用,每周更新一個版本,持續(xù)帶來新特性。

2.2 walle的組件關系、原理

walle部署在一臺宿主機提供一個web UI,方便用戶自主更新代碼部署到目標機群。Walle是一個跑在LNMP(LAMP)上的PHP服務,宿主機與目標機群建立信任,通過操作bash命令來實現(xiàn)代碼同步、自定義高級任務。


宿主機、目標機群、操作用戶關系

2.3配置

用戶的項目可自定義git/svn代碼托管地址、宿主機、目標機群、高級任務等。配置完成后可快速復制當前配置、檢測配置是否正常、以及該項目的審核管理員和成員。

3 walle與Git的配合

walle的持續(xù)部署與Git Flow思想一致,在不同的環(huán)境部署不同的分支。劃分三個環(huán)境:測試環(huán)境、預發(fā)布環(huán)境、生產環(huán)境。測試環(huán)境和預發(fā)布環(huán)境推薦分支部署,生產環(huán)境推薦tag部署。當然,這更適合milestone開發(fā)方式,如果是每天快速迭代多個版本,打tag成本就有點高了。

3.1 部署環(huán)境
3.1.1 測試環(huán)境

開發(fā)者的feature分支開發(fā)、自測驗收通過后,merge到測試環(huán)境的develop分支,(QA)部署到測試環(huán)境,等待QA驗收。

QA提bug issue,開發(fā)者從develop切分支修正再次合并、部署、驗收。

3.1.2 預發(fā)布環(huán)境

測試環(huán)境驗收通過之后,合并到預發(fā)布環(huán)境的master,部署預發(fā)布環(huán)境

QA全面回歸,發(fā)現(xiàn)問題提bug issue,開發(fā)者從master切分支修正再次合并、部署、驗收。

回歸完畢打tag,準備上線

3.1.3 生產環(huán)境

上線驗收通過的tag

回歸測試,發(fā)現(xiàn)問題開發(fā)者從master切分支hotfix修正。

3.2 環(huán)境上線流程

開發(fā)者選擇要上線的項目,選擇要上線的分支和版本提交上線單,項目管理員審核通過后,開發(fā)者發(fā)起上線。

4 Walle的部署流程

部署是在一臺宿主機拉取代碼,做編譯、配置后,向目標機群分發(fā),執(zhí)行相關目標機群任務。部署流程拆分為以下6個環(huán)節(jié),其中1-5為在宿主機進行,6在目標機群執(zhí)行。

權限、目錄檢查,開辟一個上線的獨立空間以并行發(fā)布,防止同時部署出現(xiàn)代碼污染

pre-deploy任務,代碼檢出前的一些操作任務,如環(huán)境檢查

代碼從git/svn版本庫中檢出

post-deploy任務,代碼檢出之后操作任務,如java的mvn編譯,php的composer插件安裝

保留在獨立空間的代碼均會被同步至目標機群的一個版本庫中

全量更新:當所有機器都分發(fā)完畢,開始做pre-release任務(java暫停服務)、切換版本軟鏈、post-release任務( java啟動服務)


為保證服務的完整性,先同步代碼,后切換服務。部署發(fā)布每次都會有版本記錄保留,版本上線事故一旦發(fā)生,回滾可瞬間完成。可配置線上版本最大保留數(shù),過期的版本被會刪除,同時也就不能回滾被刪除的版本。對于需要編譯、自定義多任務輔助,可配置前置、后置操作自定義任務;同時提供一些預置變量({WORKSPACE}宿主機的當前獨立空間、目標機webroot,{VERSION}版本庫目錄)方便用戶操作自定義任務。

上線過程直到目標機群全部完成之前,如有任一環(huán)節(jié)失敗將會回滾,需要重新上線,同時會把錯誤信息提示用戶。

5 Todo list

支持Docker

開放接口

支持第三方hook

6 了解更多

項目地址:walle-瓦力,官方主頁-walle 瓦力。歡迎了解、star、fork。

7 walle 2.0 驚艷亮相

8 walle 2.0 特性

功能強大,且免費開源的walle-web 瓦力終于更新2.0了!占用了我?guī)缀跛袠I(yè)余時間,精力與金錢付出換各位使用收益,望各位喜歡順手 star 以示支持,項目更好亦反饋予你。目前 2.0 預覽版尚未達到完全企業(yè)可用狀態(tài),請保持關注,我會在公眾號更新(在最下面)。

gitlabRESTful API,類gitlab的權限模型,將來打通gitlab,良心的驚喜

空間管理。意味著有獨立的空間資源:環(huán)境管理、用戶組、項目、服務器等

灰度發(fā)布。呼聲不斷,終于來了

websocket 實時展示部署中的 shell console

完善的通知機制。郵件、釘釘

全新的UI,我自己都被震憾到了,如絲般流暢

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

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21228.html

相關文章

  • 瓦力Walle)上線部署系統(tǒng)

    摘要:瓦力是一個支持多用戶多項目多環(huán)境同時部署的上線部署系統(tǒng)。詳見項目,或花滿樹官方說明,如果喜歡歡迎標,支持我們把瓦力做強大。詳情項目官網主頁文檔手冊更新介紹瓦力自動化部署工具 showImg(https://segmentfault.com/img/bVrjiG); Walle - 瓦力 是一個支持svn、git、多用戶、多項目、多環(huán)境同時部署的上線部署系統(tǒng)。 github項目 wall...

    nevermind 評論0 收藏0
  • walle 瓦力--部署系統(tǒng)(從原理到安裝)

    摘要:瓦力介紹一個部署系統(tǒng)工具,配置簡單功能完善界面流暢開箱即用支持版本管理,支持各種代碼發(fā)布,,,等代碼的發(fā)布回滾,可以通過來一鍵完成。 瓦力介紹 Walle 一個web部署系統(tǒng)工具,配置簡單、功能完善、界面流暢、開箱即用!支持git、svn版本管理,支持各種web代碼發(fā)布,PHP,Python,JAVA等代碼的發(fā)布、回滾,可以通過web來一鍵完成。 功能列表 用戶分身份注冊、登錄 開發(fā)者...

    VPointer 評論0 收藏0
  • walle 瓦力--部署系統(tǒng)(從原理到安裝)

    摘要:瓦力介紹一個部署系統(tǒng)工具,配置簡單功能完善界面流暢開箱即用支持版本管理,支持各種代碼發(fā)布,,,等代碼的發(fā)布回滾,可以通過來一鍵完成。 瓦力介紹 Walle 一個web部署系統(tǒng)工具,配置簡單、功能完善、界面流暢、開箱即用!支持git、svn版本管理,支持各種web代碼發(fā)布,PHP,Python,JAVA等代碼的發(fā)布、回滾,可以通過web來一鍵完成。 功能列表 用戶分身份注冊、登錄 開發(fā)者...

    zhangke3016 評論0 收藏0

發(fā)表評論

0條評論

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