日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

什么是持續(xù)集成 源程序量( 四 )


持續(xù)交付在軟件開發(fā)過程中的目標(biāo)是自動化、效率、可靠性、可重復(fù)性和質(zhì)量保障(通過持續(xù)測試) 。
持續(xù)交付包含持續(xù)集成(自動檢測源代碼變更、執(zhí)行構(gòu)建過程、運(yùn)行單元測試以驗證變更),持續(xù)測試(對代碼運(yùn)行各種測試以保障代碼質(zhì)量),和(可選)持續(xù)部署(通過管道發(fā)布版本自動提供給用戶) 。
如何在管道中識別/跟蹤多個版本?版本控制是持續(xù)交付和管道的關(guān)鍵概念 。持續(xù)意味著能夠經(jīng)常集成新代碼并提供更新版本 。但這并不意味著每個人都想要“最新、最好的” 。對于想要開發(fā)或測試已知的穩(wěn)定版本的內(nèi)部團(tuán)隊來說尤其如此 。因此,管道創(chuàng)建并輕松存儲和訪問的這些版本化對象非常重要 。
【什么是持續(xù)集成 源程序量】在管道中從源代碼創(chuàng)建的對象通??梢苑Q為 工件(artifact) 。工件在構(gòu)建時應(yīng)該有應(yīng)用于它們的版本 。將版本號分配給工件的推薦策略稱為 語義化版本控制(semantic versioning) 。(這也適用于從外部源引入的依賴工件的版本 。)
語義版本號有三個部分: 主要版本(major)、 次要版本(minor) 和 補(bǔ)丁版本(patch) 。(例如,1.4.3 反映了主要版本 1,次要版本 4 和補(bǔ)丁版本 3 。)這個想法是,其中一個部分的更改表示工件中的更新級別 。主要版本僅針對不兼容的 API 更改而遞增 。當(dāng)以 向后兼容(backward-compatible)的方式添加功能時,次要版本會增加 。當(dāng)進(jìn)行向后兼容的版本 bug 修復(fù)時,補(bǔ)丁版本會增加 。這些是建議的指導(dǎo)方針,但只要團(tuán)隊在整個組織內(nèi)以一致且易于理解的方式這樣做,團(tuán)隊就可以自由地改變這種方法 。例如,每次為發(fā)布完成構(gòu)建時增加的數(shù)字可以放在補(bǔ)丁字段中 。
如何“分銷”工件?團(tuán)隊可以為工件分配 分銷(promotion)級別以指示適用于測試、生產(chǎn)等環(huán)境或用途 。有很多方法 ??梢杂?Jenkins 或 Artifactory 等應(yīng)用程序進(jìn)行分銷 ?;蛘咭粋€簡單的方案可以在版本號字符串的末尾添加標(biāo)簽 。例如,-snapshot 可以指示用于構(gòu)建工件的代碼的最新版本(快照) ??梢允褂酶鞣N分銷策略或工具將工件“提升”到其它級別,例如 -milestone 或 -production,作為工件穩(wěn)定性和完備性版本的標(biāo)記 。
如何存儲和訪問多個工件版本?從源代碼構(gòu)建的版本化工件可以通過管理 工件倉庫(artifact repository)的應(yīng)用程序進(jìn)行存儲 。工件倉庫就像構(gòu)建工件的版本控制工具一樣 。像 Artifactory 或 Nexus 這類應(yīng)用可以接受版本化工件,存儲和跟蹤它們,并提供檢索的方法 。
管道用戶可以指定他們想要使用的版本,并在這些版本中使用管道 。
什么是“持續(xù)部署”?持續(xù)部署(CD)是指能夠自動提供持續(xù)交付管道中發(fā)布版本給最終用戶使用的想法 。根據(jù)用戶的安裝方式,可能是在云環(huán)境中自動部署、app 升級(如手機(jī)上的應(yīng)用程序)、更新網(wǎng)站或只更新可用版本列表 。
這里的一個重點(diǎn)是,僅僅因為可以進(jìn)行持續(xù)部署并不意味著始終部署來自管道的每組可交付成果 。它實際上指,通過管道每套可交付成果都被證明是“可部署的” 。這在很大程度上是由持續(xù)測試的連續(xù)級別完成的(參見本文中的持續(xù)測試部分) 。
管道構(gòu)建的發(fā)布成果是否被部署可以通過人工決策,或利用在完全部署之前“試用”發(fā)布的各種方法來進(jìn)行控制 。
在完全部署到所有用戶之前,有哪些方法可以測試部署?由于必須回滾/撤消對所有用戶的部署可能是一種代價高昂的情況(無論是技術(shù)上還是用戶的感知),已經(jīng)有許多技術(shù)允許“嘗試”部署新功能并在發(fā)現(xiàn)問題時輕松“撤消”它們 。這些包括:
藍(lán)/綠測試/部署在這種部署軟件的方法中,維護(hù)了兩個相同的主機(jī)環(huán)境 —— 一個“藍(lán)色” 和一個“綠色” 。(顏色并不重要,僅作為標(biāo)識 。)對應(yīng)來說,其中一個是“生產(chǎn)環(huán)境”,另一個是“預(yù)發(fā)布環(huán)境” 。

推薦閱讀