摘要:使用的公司能大大增加他們的應(yīng)用程序發(fā)行頻率。然而,這是戰(zhàn)略需求,將會提高交付速度,減少錯誤。我們的建議是,最好進(jìn)入流程定義,以實現(xiàn)零接觸持續(xù)部署的總體目標(biāo)。
在最好的時候創(chuàng)建用戶喜歡的高質(zhì)量應(yīng)用程序并不是件容易的事情。更何況,要怎樣做才能更快地創(chuàng)建用戶喜歡的高質(zhì)量應(yīng)用程序并且能夠不斷改進(jìn)它們呢?這就是需要引入持續(xù)集成和持續(xù)交付(CI / CD)的地方。
持續(xù)集成(CI) 什么是持續(xù)集成?那么,持續(xù)集成(CI)究竟是什么呢?它是軟件工程師每天頻繁地將更新代碼的副本傳遞到共享位置的過程。所有的開發(fā)工作都在預(yù)定的時間或事件中進(jìn)行集成,然后自動測試和構(gòu)建工作。通過CI,開發(fā)過程中出現(xiàn)的錯誤能被及時發(fā)現(xiàn),這樣不僅加速了整個開發(fā)周期,而且使軟件工程師的工作效率更高。
持續(xù)集成有什么好處?我們不能低估CI的好處。因為團隊里的人都在同一個產(chǎn)品上進(jìn)行實時工作,所以在軟件開發(fā)過程中使用CI時,你可以期望實現(xiàn)更快的速度、更好的穩(wěn)定性和更強的可靠性。并且在開發(fā)過程的早期,開發(fā)人員能夠發(fā)現(xiàn)和解決任何編碼問題,使它們在成為下游主要問題之前得到糾正。這樣可以降低錯誤代碼導(dǎo)致的長期開發(fā)(和業(yè)務(wù))的成本。
持續(xù)集成對于QA測試花費的時間也有很大的影響。通過CI,開發(fā)人員不斷審查和編輯以前的代碼,能夠檢查到許多小的錯誤,這些錯誤在QA里通常發(fā)現(xiàn)的晚一些。這使得測試人員不僅可以專注研究代碼和關(guān)注更加緊迫的問題,而且能夠同時測試更多的場景。
對開發(fā)團隊來說,使用CI的另一個好處是可以提高編碼能力。由于持續(xù)發(fā)展的自然靈活性,這使得開發(fā)人員能夠快速、輕松地對代碼進(jìn)行更改,卻不會產(chǎn)生運行回歸風(fēng)險。
持續(xù)交付(CD) 什么是持續(xù)交付?持續(xù)交付(CD)是創(chuàng)建高質(zhì)量應(yīng)用程序的第二個難題。CD是一門軟件開發(fā)學(xué)科,利用技術(shù)和工具快速地交付生產(chǎn)階段的代碼。由于大部分交付周期都是自動化的,所以這些交付能夠快速地完成。
持續(xù)交付有什么好處?實施持續(xù)交付的主要好處是能夠加快應(yīng)用程序的上市時間。使用CD的公司能大大增加他們的應(yīng)用程序發(fā)行頻率。在沒有使用CD之前,應(yīng)用程序發(fā)布的頻率通常是幾個月一次。然而現(xiàn)在使用CD,你可以一個星期發(fā)布一次、甚至每天發(fā)布多次應(yīng)用。在競爭激烈的行業(yè)中,速度的提高將會使你處于主要優(yōu)勢。
持續(xù)不斷的軟件版本發(fā)布也會根據(jù)用戶對應(yīng)用程序的反饋,允許開發(fā)團隊對其進(jìn)行微調(diào)。這個用戶反饋為開發(fā)人員提供了所需要的洞察力,并且它優(yōu)先考慮了用戶實際需要的功能請求。同樣重要的是,對用戶實際上沒有用到的應(yīng)用程序功能,它允許開發(fā)人員對其進(jìn)行優(yōu)先級排序。
CD的另一個好處是它能保證每個發(fā)行版本的風(fēng)險較低。當(dāng)使用CD方法發(fā)布時,開發(fā)團隊也會更有信心,因為在整個開發(fā)生命周期中,所有內(nèi)容都經(jīng)過了多次測試。
任何不考慮轉(zhuǎn)向CI / CD的公司都或?qū)⒈荒切┦褂肅I / CD方法的競爭對手遠(yuǎn)遠(yuǎn)地甩在后面。那么,如何轉(zhuǎn)向CI / CD?當(dāng)您準(zhǔn)備轉(zhuǎn)向持續(xù)集成/持續(xù)交付(CI / CD)時,需要考量及決定的相關(guān)流程有很多。下文將帶您了解這些主要流程。
轉(zhuǎn)向CI/CD的重要流程 1、分支和合并你需要組織及考慮的一個主要流程就是你的分支和合并。分支就是開發(fā)人員可以在代碼的平行部分工作的地方——從一個中央代碼庫分支出來。分支的好處在于,它允許在不破壞中心代碼基礎(chǔ)的情況下,在軟件構(gòu)建的不同方面同時進(jìn)行工作。顯然,合并即意味著分支合并到核心代碼庫。
通過各種版本控制系統(tǒng),許多開發(fā)人員對分支和合并已經(jīng)很熟悉了。然而,根據(jù)您的構(gòu)建的特別要求,您所分支的內(nèi)容也有很多不同的策略。有些開發(fā)人員將通過維護、功能或團隊來進(jìn)行發(fā)布的分支。
您可能會對某種策略非??駸幔敖^對正確”的分支和合并策略是不存在的,只存在“對您的構(gòu)建而言正確”的方式與策略。這需要檢查您當(dāng)前的分支和合并策略,并根據(jù)您的目標(biāo)和情況決定需要更改哪些內(nèi)容。
2、構(gòu)建自動化構(gòu)建自動化意味著您可以自動編譯軟件構(gòu)建。持續(xù)集成服務(wù)器的核心是構(gòu)建自動化服務(wù)器,其工作是在觸發(fā)或定時的基礎(chǔ)上編譯和鏈接源代碼。您選擇的持續(xù)集成服務(wù)器將成為您的CI/CD環(huán)境的支柱。
在查看構(gòu)建自動化過程時,了解市場上各種可用選項的功能是非常有幫助的。開源公司Jenkins現(xiàn)在在CI/CD部署中占絕對優(yōu)勢,這通常是一個好的開始?;蛘咧辽伲诒容^其他解決方案時把它作為基準(zhǔn)。作為一個開源代碼系統(tǒng),您可能仍需構(gòu)建一些實用程序,以使構(gòu)建自動化完全適合您的情況。
3、測試自動化測試自動化對于CI/CD能否按預(yù)期工作至關(guān)重要。如果沒有自動化測試,CI/CD將很快無法實現(xiàn)快速交付的目標(biāo)。我們的總體建議是盡可能自動化。這意味著您需要檢查您需要執(zhí)行的各種測試,并決定在您的環(huán)境中可以安全地自動進(jìn)行哪些測試。
建立測試自動化環(huán)境可能需要新的技能。然而,這是戰(zhàn)略需求,將會提高交付速度,減少錯誤。至少,您應(yīng)該自動化代碼審查、單元測試、集成測試和系統(tǒng)測試。
4、部署自動化關(guān)于持續(xù)交付和持續(xù)部署之間的區(qū)別,仍然存在一些混淆。簡而言之,持續(xù)交付意味著持續(xù)推出發(fā)布就緒代碼,而持續(xù)部署則意味著持續(xù)給用戶部署該軟件。
無論你在看什么“CD”,對那些不習(xí)慣的人來說,這似乎是一個巨大的飛躍。為了讓您的組織有信心將軟件部署到最終用戶,需要一個嚴(yán)密的測試自動化基礎(chǔ)設(shè)施。
我們的建議是,最好進(jìn)入流程定義,以實現(xiàn)零接觸持續(xù)部署的總體目標(biāo)。雖然領(lǐng)先的持續(xù)集成系統(tǒng)通常會考慮自己的持續(xù)交付系統(tǒng),但您可以比現(xiàn)成的參數(shù)更進(jìn)一步。真正的敏捷性需要構(gòu)建一個基礎(chǔ)設(shè)施、寫好代碼,吸引用戶使用。
選擇開源且完整的CI/CD的工具真正實現(xiàn)CI/CD并非易事,pipeline搭建工作復(fù)雜,平滑升級難以保障,服務(wù)宕機難以避免……選擇一個完整的CI/CD工具,將大大助力于CI/CD在企業(yè)里落地并最終帶來生產(chǎn)運維效率的提升。Rancher Labs新近發(fā)布的CI/CD工具Rancher Pipeline,就擁有極簡的操作體驗,強大的功能整合,并且完全開源。
同時支持多源碼管理:在單一環(huán)境中同時拉取、使用和管理托管在GitHub和GitLab的代碼;
一鍵部署,完全可視化的pipeline配置,拖拽方式的pipeline搭建;
階段式和階梯式pipeline,可自由擴展的步驟系統(tǒng);
靈活的流程控制:不同的代碼分支可以自動匹配不同的CI流程,從而支持較為復(fù)雜的流程控制
支持多種觸發(fā)方式:計劃任務(wù)的觸發(fā)、來自GitHub / GitLab的webhook觸發(fā)、手動觸發(fā),以及通過定制化的開發(fā),實現(xiàn)更多種觸發(fā)方式的支持
良好集成的審批系統(tǒng):審批系統(tǒng)已與Rancher用戶管理系統(tǒng)集成,且用戶可以在任意階段插入斷點,自由地對任意階段進(jìn)行審批
靈活的pipeline啟停機制:任一環(huán)節(jié)出錯,整個進(jìn)度可以立即停止,而問題解決之后又可以重新運行
拓展閱讀:Rancher Pipeline發(fā)布
英文原文:
https://www.infostretch.com/b...
https://www.infostretch.com/b...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27195.html
摘要:總體上,企業(yè)上云可歸納為兩大投資四大重點與五大階段。企業(yè)上云的兩大投資,包括企業(yè)上云平臺體系投資與網(wǎng)絡(luò)基礎(chǔ)投資。由此,企業(yè)上云進(jìn)程劃分為以下五個階段研發(fā)設(shè)計類工具上云。對于企業(yè)上云的個階段,這里老王就不再多說,相信大家都能看明白。企業(yè)從工業(yè)云進(jìn)化為工業(yè)互聯(lián)網(wǎng),需要經(jīng)歷五個階段前一篇文章,我們了解了企業(yè)為什么上云以及企業(yè)上云的好處。今天,老王側(cè)重跟大家分享相關(guān)部門對企業(yè)上云的總體規(guī)劃及部署,同...
摘要:導(dǎo)讀阿里巴巴轉(zhuǎn)型之后,運維平臺是如何建設(shè)的阿里巴巴高級技術(shù)專家陳喻結(jié)合運維自身的理解,業(yè)務(wù)場景的分析和業(yè)界方法論的一些思考,得出來一些最佳實踐分享給大家。實施效果嘉賓介紹陳喻亞松,阿里巴巴高級技術(shù)專家。 導(dǎo)讀:阿里巴巴DevOps轉(zhuǎn)型之后,運維平臺是如何建設(shè)的?阿里巴巴高級技術(shù)專家陳喻結(jié)合運維自身的理解,業(yè)務(wù)場景的分析和業(yè)界方法論的一些思考,得出來一些最佳實踐分享給大家。 前言 我是這...
摘要:持續(xù)交付持續(xù)交付豆瓣微服務(wù)離不開,而核心就是幾點自動化連續(xù)小范圍快速可靠。敏捷革命敏捷革命提升個人創(chuàng)造力與企業(yè)效率的全新協(xié)作模式豆瓣實際上正是敏捷開發(fā)的最佳實踐,有了前面的鋪墊,我們可以通過這本書我們來真正了解敏捷開發(fā)的全貌。 后端好書閱讀與推薦系列文章: 后端好書閱讀與推薦后端好書閱讀與推薦(續(xù))后端好書閱讀與推薦(續(xù)二)后端好書閱讀與推薦(續(xù)三)后端好書閱讀與推薦(續(xù)四)后端好書...
摘要:內(nèi)部長期使用來管理代碼。審核通過并且成功后,觸發(fā)靜態(tài)測試單元測試鏡像構(gòu)建鏡像部署集成測試等測試通過后,創(chuàng)建一個從到的,由負(fù)責(zé)人進(jìn)行審核。從圖中我們可以看到,部分是一個單元測試,預(yù)發(fā)布部署,集成測試,,提交代碼的循環(huán)過程。UCloud內(nèi)部長期使用 Gitlab 來管理代碼。雖然Gitlab作為一套開源平臺已很優(yōu)秀,但我們對于其能為CI/CD提供的敏捷性并不十分滿意,內(nèi)部實踐中的代碼發(fā)布周期仍需...
摘要:容器云將支持應(yīng)用的一鍵式部署交付,提供負(fù)載均衡,私有域名綁定,性能監(jiān)控等應(yīng)用生命周期管理服務(wù)。本容器云平臺,對接持續(xù)集成發(fā)布系統(tǒng)。 前言 在移動互聯(lián)網(wǎng)時代,新的技術(shù)需要新技術(shù)支持環(huán)境、新的軟件交付流程和IT架構(gòu),從而實現(xiàn)架構(gòu)平臺化,交付持續(xù)化,業(yè)務(wù)服務(wù)化。容器將成為新一代應(yīng)用的標(biāo)準(zhǔn)交付件,容器云將幫助企業(yè)用戶構(gòu)建研發(fā)流程和云平臺基礎(chǔ)設(shè)施。縮短應(yīng)用向云端交付的周期,降低運營門檻。加速向互...
閱讀 617·2021-11-15 11:38
閱讀 1253·2021-10-11 10:59
閱讀 3525·2021-09-07 09:58
閱讀 516·2019-08-30 15:44
閱讀 3546·2019-08-28 18:14
閱讀 2629·2019-08-26 13:32
閱讀 3540·2019-08-26 12:23
閱讀 2442·2019-08-26 10:59