日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Jenkins】持续集成、持续交付与持续部署

發(fā)布時(shí)間:2024/2/28 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Jenkins】持续集成、持续交付与持续部署 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

持續(xù)集成、持續(xù)交付與持續(xù)部署,都是軟件開發(fā)過程中的很好的實(shí)踐。

一、持續(xù)部署

  • 裝修廚房
    全部裝好之后發(fā)現(xiàn)燈不亮,電路有問題;冷熱水裝反了,管路有問題。這些問題要解決就必須把地磚、墻磚拆掉——一個(gè)環(huán)節(jié)有問題,其他環(huán)節(jié)跟著返工。
    那怎么做會(huì)好一些呢?任何安裝完成及時(shí)測(cè)試,確保其可以正常工作。

  • 項(xiàng)目開發(fā)
    開發(fā)過程中進(jìn)行單元測(cè)試能夠通過,但是部署到服務(wù)器上運(yùn)行出現(xiàn)問題。
    那怎么做會(huì)好一些呢?僅僅單元測(cè)試還不夠,各個(gè)模塊都必須能夠在服務(wù)器上運(yùn)行。

  • 關(guān)注點(diǎn)
    持續(xù)部署的關(guān)注點(diǎn)在于項(xiàng)目功能部署至服務(wù)器后可以運(yùn)行,為下一步測(cè)試環(huán)節(jié)或最終用戶正式使用做好準(zhǔn)備。

  • 二、持續(xù)集成

  • 裝修廚房
    裝修廚房時(shí)我們需要鋪地磚,如果把所有地磚都切好再拿去鋪就會(huì)發(fā)現(xiàn):每一塊地磚單獨(dú)看都是好的,但是實(shí)際鋪的時(shí)候,把所有地磚整合起來,發(fā)現(xiàn)和廚房地面總體尺寸不匹配,邊邊角角的地磚需要重新切,時(shí)間和物料成本陡然升高。
    那怎么做會(huì)好一些呢?切一塊鋪一塊,根據(jù)需要的尺寸來切,盡早發(fā)現(xiàn)尺寸變化,避免返工。

  • 項(xiàng)目開發(fā)
    各個(gè)小組分別負(fù)責(zé)各個(gè)具體模塊開發(fā),本模塊獨(dú)立測(cè)試雖然能夠通過,但是上線前夕將所有模塊整合到一起集成測(cè)試卻發(fā)現(xiàn)很多問題,想要解決就需要把很多代碼返工重寫而且仍然有可能有問題,但現(xiàn)在時(shí)間很可能不夠了。
    那怎么做會(huì)好一些呢?經(jīng)常性、頻繁的把所有模塊集成在一起進(jìn)行測(cè)試,有問題盡早發(fā)現(xiàn),這就是持續(xù)集成。

  • 關(guān)注點(diǎn)
    持續(xù)集成的關(guān)注點(diǎn)在于盡早發(fā)現(xiàn)項(xiàng)目整體運(yùn)行問題,盡早解決。

  • 三、持續(xù)交付

  • 裝修廚房
    全部裝修好之后房屋主人來驗(yàn)收,各項(xiàng)功能都正常,但是水龍頭的樣式主人不喜歡,灶臺(tái)的位置主人不滿意,要求返工。
    那怎么做會(huì)好一些呢?房屋主人隨時(shí)查看裝修進(jìn)度,施工團(tuán)隊(duì)及時(shí)調(diào)整。

  • 項(xiàng)目開發(fā)
    項(xiàng)目的各個(gè)升級(jí)版本之間間隔時(shí)間太長(zhǎng),對(duì)用戶反饋感知遲鈍,無法精確改善用戶體驗(yàn),用戶流失嚴(yán)重。
    那怎么做會(huì)好一些呢?用小版本不斷進(jìn)行快速迭代,不斷收集用戶反饋信息,用最快的速度改進(jìn)優(yōu)化。

  • 關(guān)注點(diǎn)
    持續(xù)交付的關(guān)注點(diǎn)在于研發(fā)團(tuán)隊(duì)的最新代碼能夠盡快讓最終用戶體驗(yàn)到。

  • 四、總體目標(biāo)

    好處1:降低風(fēng)險(xiǎn)
    一天中進(jìn)行多次的集成,并做了相應(yīng)的測(cè)試,這樣有利于檢查缺陷,了解軟件的健康狀況,減少假定。

    好處2:減少重復(fù)過程
    產(chǎn)生重復(fù)過程有兩個(gè)方面的原因,一個(gè)是編譯、測(cè)試、打包、部署等等固定操作都必須要做,無法省略任何一個(gè)環(huán)節(jié);另一個(gè)是一個(gè)缺陷如果沒有及時(shí)發(fā)現(xiàn),有可能導(dǎo)致后續(xù)代碼的開發(fā)方向是錯(cuò)誤的,要修復(fù)問題需要重新編寫受影響的所有代碼。
    而使用 Jenkins 等持續(xù)集成工具既可以把構(gòu)建環(huán)節(jié)從手動(dòng)完成轉(zhuǎn)換為自動(dòng)化完成,又可以通過增加集成頻次盡早發(fā)現(xiàn)缺陷避免方向性錯(cuò)誤。

    好處3:任何時(shí)間、任何地點(diǎn)生成可部署的軟件
    持續(xù)集成可以讓您在任何時(shí)間發(fā)布可以部署的軟件。從外界來看,這是持續(xù)集成最明顯的好處,我們可以對(duì)改進(jìn)軟件品質(zhì)和減少風(fēng)險(xiǎn)說起來滔滔不絕,但對(duì)于客戶來說,可以部署的軟件產(chǎn)品是最實(shí)際的資產(chǎn)。利用持續(xù)集成,您可以經(jīng)常對(duì)源代碼進(jìn)行一些小改動(dòng),并將這些改動(dòng)和其他的代碼進(jìn)行集成。如果出現(xiàn)問題,項(xiàng)目成員馬上就會(huì)被通知到,問題會(huì)第一時(shí)間被修復(fù)。不采用持續(xù)集成的情況下,這些問題有可能到交付前的集成測(cè)試的時(shí)候才發(fā)現(xiàn),有可能會(huì)導(dǎo)致延遲發(fā)布產(chǎn)品,而在急于修復(fù)這些缺陷的時(shí)候又有可能引入新的缺陷,最終可能導(dǎo)致項(xiàng)目失敗。

    好處4:增強(qiáng)項(xiàng)目的可見性
    持續(xù)集成讓我們能夠注意到趨勢(shì)并進(jìn)行有效的決策。如果沒有真實(shí)或最新的數(shù)據(jù)提供支持,項(xiàng)目就會(huì)遇到麻煩,每個(gè)人都會(huì)提出他最好的猜測(cè)。通常,項(xiàng)目成員通過手工收集這些信息,增加了負(fù)擔(dān),也很耗時(shí)。持續(xù)集成可以帶來兩點(diǎn)積極效果:
    (1) 有效決策:持續(xù)集成系統(tǒng)為項(xiàng)目構(gòu)建狀態(tài)和品質(zhì)指標(biāo)提供了及時(shí)的信息,有些持續(xù)集成系統(tǒng)可以報(bào)告功能完成度和缺陷率。
    (2) 注意到趨勢(shì):由于經(jīng)常集成,我們可以看到一些趨勢(shì),如構(gòu)建成功或失敗、總體品質(zhì)以及其它的項(xiàng)目信息。

    好處5:建立團(tuán)隊(duì)對(duì)開發(fā)產(chǎn)品的信心
    持續(xù)集成可以建立開發(fā)團(tuán)隊(duì)對(duì)開發(fā)產(chǎn)品的信心,因?yàn)樗麄兦宄闹烂恳淮螛?gòu)建的結(jié)果,他們知道他們對(duì)軟件的改動(dòng)造成了哪些影響,結(jié)果怎么樣。


    Jenkins的使用

    不使用持續(xù)集成:

    使用持續(xù)集成:


    Jinkins+SVN持續(xù)集成環(huán)境搭建

    準(zhǔn)備工作:開啟三個(gè)虛擬機(jī),一個(gè)跑SVN,一個(gè)跑Kenkins,一個(gè)跑項(xiàng)目


    Jenkins+GitHub持續(xù)集成環(huán)境搭建

    總結(jié)

    以上是生活随笔為你收集整理的【Jenkins】持续集成、持续交付与持续部署的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。