《持續(xù)交付》 - 應(yīng)用程序的部署與發(fā)布

對(duì)于已經(jīng)通過自動(dòng)化測(cè)試后的軟件來說亚兄,接下來就會(huì)進(jìn)行軟件的部署和發(fā)布,對(duì)軟件的部署和發(fā)布采驻,它們都遵循著相同的流程审胚,并以自動(dòng)化的形式去執(zhí)行。它們的不同之處在它們的運(yùn)行環(huán)境不一致礼旅,但最重要的是二者的回滾能力不同膳叨。

一 創(chuàng)建發(fā)布策略


在進(jìn)行程序的部署和發(fā)布時(shí),我們必須要在這之前制定部署和發(fā)布的策略痘系,最合適的制定時(shí)間應(yīng)該是在項(xiàng)目開始階段菲嘴,這個(gè)階段項(xiàng)目組成員應(yīng)該一起達(dá)成共識(shí)并制定相應(yīng)的策略,并在整個(gè)周期中對(duì)該文檔進(jìn)行更新和維護(hù)汰翠。對(duì)于一個(gè)發(fā)布策略的文檔內(nèi)容我們可以包括:

  • 每個(gè)環(huán)境的部署和發(fā)布應(yīng)該由誰來負(fù)責(zé)
  • 創(chuàng)建一個(gè)資產(chǎn)和配置管理策略
  • 部署時(shí)所有用技術(shù)的描述
  • 描述在測(cè)試或生產(chǎn)環(huán)境中部署時(shí)應(yīng)該遵循的流程
  • 部署時(shí)和運(yùn)行時(shí)的配置方法和如何管理龄坪,以及它們是怎么與自動(dòng)化部署流程聯(lián)合起來
  • 描述應(yīng)用程序如何和外部系統(tǒng)集成
  • 如何記錄日志詳情
  • 制定恢復(fù)計(jì)劃
  • 如何對(duì)生產(chǎn)環(huán)境首次部署

1、發(fā)布計(jì)劃

對(duì)于第一次軟件發(fā)布复唤,風(fēng)險(xiǎn)是很大的健田,往往會(huì)遇到一些不可預(yù)測(cè)的問題,所以我們應(yīng)該對(duì)整個(gè)發(fā)布過程以及失敗后如何快速回滾制定一個(gè)策略苟穆。

  • 第一次部署應(yīng)用程序時(shí)所需要的步驟
  • 如何對(duì)應(yīng)用程序進(jìn)行冒煙測(cè)試
  • 如果部署出現(xiàn)問題抄课,我們?cè)撛鯓映蜂N部署
  • 如何對(duì)應(yīng)用程序的狀態(tài)進(jìn)行備份和恢復(fù)
  • 在不破壞應(yīng)用程序狀態(tài)的前提下,升級(jí)應(yīng)用程序所需要的步驟是什么
  • 如果發(fā)布失敗雳旅,重新啟動(dòng)或重新部署的流程是什么
  • 日志該怎么處理
  • 如何做好數(shù)據(jù)遷移

二 應(yīng)用程序的部署和升級(jí)


為了讓軟件的部署可以以一種可靠且一致的方式進(jìn)行跟磨,我們就必須要解放雙手,避免過多的人為操作攒盈,這也就意味著我們應(yīng)該去寫腳本抵拘,讓部署成為自動(dòng)化。

1型豁、首次部署

首次部署發(fā)生在第一個(gè)迭代結(jié)束時(shí)僵蛛,即給客戶演示第一個(gè)簡(jiǎn)單的用戶故事的時(shí)候。在第一個(gè)迭代中迎变,我們應(yīng)該選擇一個(gè)最優(yōu)的 MVP充尉,盡可能快的去實(shí)現(xiàn)第一次部署,這么做的目的是為了讓部署流線的前幾個(gè)階段跑通衣形,從中我們還可以得到:

  • 部署流水線的提交階段
  • 一個(gè)用戶部署的類生產(chǎn)環(huán)境
  • 一個(gè)簡(jiǎn)單的冒煙測(cè)試

2驼侠、對(duì)發(fā)布過程進(jìn)行構(gòu)建并讓構(gòu)建晉級(jí)

構(gòu)建晉級(jí)就是可以看到部署流水線上的所有構(gòu)建的狀態(tài)姿鸿,可以選擇合適的構(gòu)建版本到任意的版本,也可以通過一個(gè)單擊按鈕來進(jìn)行部署倒源。發(fā)布的細(xì)節(jié):

  • 為了達(dá)到發(fā)布質(zhì)量苛预,一個(gè)構(gòu)建版本要通過哪些測(cè)試階段
  • 每個(gè)測(cè)試階段需要設(shè)置什么樣的門檻
  • 對(duì)于每一個(gè)門檻,誰權(quán)利進(jìn)行決策

3笋熬、配置的晉級(jí)
4热某、聯(lián)合環(huán)境
5、部署到試運(yùn)行環(huán)境

三 部署回滾和零停機(jī)發(fā)布


1胳螟、通過重新部署原有的版本來進(jìn)行回滾
2昔馋、零停機(jī)發(fā)布(熱部署)
3、藍(lán)綠部署

進(jìn)行部署時(shí)先部署在藍(lán)環(huán)境上旺隙,在藍(lán)環(huán)境上一切正常后绒极,只需要簡(jiǎn)單的修改下路由,讓綠環(huán)境導(dǎo)向藍(lán)環(huán)境即可蔬捷。但數(shù)據(jù)庫的調(diào)轉(zhuǎn)則需要先將綠數(shù)據(jù)庫設(shè)置可讀垄提、備份到藍(lán)數(shù)據(jù)庫,在執(zhí)行遷移周拐,把用戶切換到藍(lán)數(shù)據(jù)庫上铡俐。

4、金絲雀發(fā)布

在生產(chǎn)環(huán)境及其龐大的話妥粟,導(dǎo)致創(chuàng)建出一個(gè)有效的容量測(cè)試環(huán)境是非行困難的审丘,那么就應(yīng)該用到金絲雀發(fā)布。即把應(yīng)用程序的某個(gè)版本部署到生產(chǎn)環(huán)境中的部分服務(wù)器中勾给,從而得到快速反饋滩报。這樣做的好處是:

  • 非常容易回滾,因?yàn)槲覀儾恍枰阉械挠脩舳紝?dǎo)向到當(dāng)前的服務(wù)器中播急,只需要一些測(cè)試用戶來進(jìn)行試用
  • 可以通過逐漸增加負(fù)載脓钾,慢慢的將更多的用戶引向新版本
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市桩警,隨后出現(xiàn)的幾起案子可训,更是在濱河造成了極大的恐慌,老刑警劉巖捶枢,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件握截,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡烂叔,警方通過查閱死者的電腦和手機(jī)谨胞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蒜鸡,“玉大人畜眨,你說我怎么就攤上這事昼牛∈跷停” “怎么了康聂?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長胞四。 經(jīng)常有香客問我恬汁,道長,這世上最難降的妖魔是什么辜伟? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任氓侧,我火速辦了婚禮,結(jié)果婚禮上导狡,老公的妹妹穿的比我還像新娘约巷。我一直安慰自己,他們只是感情好旱捧,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布独郎。 她就那樣靜靜地躺著,像睡著了一般枚赡。 火紅的嫁衣襯著肌膚如雪氓癌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天贫橙,我揣著相機(jī)與錄音贪婉,去河邊找鬼。 笑死卢肃,一個(gè)胖子當(dāng)著我的面吹牛疲迂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播莫湘,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼尤蒿,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了逊脯?” 一聲冷哼從身側(cè)響起优质,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎军洼,沒想到半個(gè)月后巩螃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡匕争,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年避乏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甘桑。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拍皮,死狀恐怖歹叮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情铆帽,我是刑警寧澤咆耿,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站爹橱,受9級(jí)特大地震影響萨螺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜愧驱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一慰技、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧组砚,春花似錦吻商、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至改化,卻和暖如春掩蛤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背陈肛。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來泰國打工揍鸟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人句旱。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓阳藻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親谈撒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子腥泥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)啃匿,斷路器蛔外,智...
    卡卡羅2017閱讀 134,637評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,837評(píng)論 25 707
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,778評(píng)論 6 342
  • 先說項(xiàng)目開發(fā)過程中團(tuán)隊(duì)人員的分工協(xié)作。 一 人員安排 畢業(yè)至今的大部分項(xiàng)目都是獨(dú)立完成溯乒,雖然也有和其他同事協(xié)作的時(shí)...
    SnowflakeCloud閱讀 10,756評(píng)論 3 59
  • #前傳# 眨眼之間2017已經(jīng)過了1/6夹厌,找不到實(shí)習(xí)的咸魚開始質(zhì)疑人生,只能摸索著自己的興趣愛好裆悄。讓自己忙碌起來~...
    酸奶舔蓋戶閱讀 196評(píng)論 3 2