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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

3天学会Jenkins_1_Jenkin与CI(Continuous Integration,持续集成)?

發(fā)布時間:2023/12/20 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3天学会Jenkins_1_Jenkin与CI(Continuous Integration,持续集成)? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載注明出處,歡迎關(guān)注微信小程序小白AI博客 微信公眾號小白AI或者網(wǎng)站 https://xiaobaiai.net

文章目錄

    • 1 什么是持續(xù)集成?
    • 2 什么是Jenkin?
    • 3 Jenkin歷史
    • 4 為什么選擇Jenkins做持續(xù)集成服務(wù)器?
    • 5 持續(xù)集成的實(shí)際案例研究
    • 6 Jenkins插件
    • 7 使用Jenkins的優(yōu)點(diǎn)
    • 8 使用Jenkins的缺點(diǎn)
    • 9 總結(jié)
    • 10 參考鏈接

1 什么是持續(xù)集成?

持續(xù)集成(Continuous Integration)即是發(fā)生在每一次的代碼提交后,立即開始軟件的構(gòu)建(Build)和測試(Test),在一個擁有許多開發(fā)人員的大型項目中,一天中會多次提交,伴隨著每個提交代碼的構(gòu)建和測試,如果測試通過,則測試構(gòu)建以進(jìn)行部署。如果部署成功,則代碼將推送到生產(chǎn)環(huán)境。提交(commit),構(gòu)建(build),測試(test)和部署(deploy)是一個連續(xù)的過程,因此稱為持續(xù)集成/部署。

持續(xù)集成流水線是一種功能強(qiáng)大的工具,由一組用于托管,監(jiān)控,編譯和測試代碼或監(jiān)控代碼更改的工具組成,比如:

  • 持續(xù)集成服務(wù)器有:Jenkins, Bamboo, CruiseControl, TeamCity等等
  • 源碼版本控制工具:GIT,CVS, SVN, Mercurial, Perforce, ClearCase等等
  • 編譯構(gòu)建工具:Make, CMake, ANT, Maven, Ivy, Gradle等等
  • 自動測試框架:Selenium, Appium, TestComplete, UFT等等

在本文中,你將學(xué)會:

  • 什么是持續(xù)集成?
  • 什么是Jenkin?
  • Jenkin歷史
  • 為什么選擇Jenkins做持續(xù)集成服務(wù)器?
  • 持續(xù)集成的實(shí)際案例研究
  • 使用Jenkins的優(yōu)點(diǎn)
  • 使用Jenkins的缺點(diǎn)

2 什么是Jenkin?

Jenkins是一個開源的持續(xù)集成服務(wù)器,能夠編排一系列操作,用自動化方式幫助你實(shí)現(xiàn)持續(xù)集成過程。Jenkins完全用Java編寫。Jenkins是世界上廣泛使用的應(yīng)用程序,安裝量約為300k,并且日益增長。它是一個基于Web服務(wù)器的應(yīng)用程序,需要像Apache Tomcat這樣的Web服務(wù)器。Jenkins變得如此受歡迎的原因在于它監(jiān)督項目開發(fā)過程中出現(xiàn)的重復(fù)任務(wù)。例如,如果你的團(tuán)隊正在開發(fā)項目,Jenkins將不斷測試你的項目,并在開發(fā)的早期階段向你顯示相關(guān)錯誤。

通過使用Jenkins,軟件公司可以加速他們的軟件開發(fā)過程,因?yàn)镴enkins可以快速自動化構(gòu)建和測試。Jenkins通過構(gòu)建,測試,文檔化軟件,部署和軟件開發(fā)生命周期的其他階段來支持軟件的完整開發(fā)生命周期。

3 Jenkin歷史

  • Kohsuke Kawaguchi, 一個Java開發(fā)者,在SUN Microsystems工作,厭倦了重復(fù)構(gòu)建代碼和修復(fù)錯誤。2004年,創(chuàng)建了一個名為Hudson的自動化服務(wù)器,可自動構(gòu)建和測試開發(fā)任務(wù)。
  • 2011年,擁有Sun Microsystems的Oracle與Hudson開源社區(qū)存在爭議,因此分叉的Hudson將其重命名為Jenkins。
  • Hudson和Jenkins都繼續(xù)獨(dú)立運(yùn)作。但是在短時間內(nèi),Jenkins得到了了很多項目的應(yīng)用并有大量開源貢獻(xiàn)者共享代碼,而Hudson只剩下32個應(yīng)用項目。隨著時間的推移,Jenkins變得更受歡迎,而Hudson則不再受到維護(hù)。

4 為什么選擇Jenkins做持續(xù)集成服務(wù)器?

有些人可能會認(rèn)為開發(fā)軟件的老式方法是更好的方法。讓我們通過以下示例了解CI與Jenkins的優(yōu)勢。

讓我們想象一下,大約有10個開發(fā)人員在共享存儲倉庫上工作。一些開發(fā)人員在25天內(nèi)完成任務(wù),而其他人則需要30天才能完成任務(wù)。

不使用Jenkins使用Jenkins后
一旦所有開發(fā)人員完成了他們分配的編碼任務(wù),他們就會同時提交他們的代碼。稍后,將進(jìn)行測試和部署。 代碼提交已建立,測試周期非常罕見,并且在多天后完成了單個構(gòu)建一旦Developer提交代碼,代碼就會構(gòu)建并測試。Jenkin將在白天多次構(gòu)建和測試代碼;如果構(gòu)建成功,則Jenkins會將源代碼部署到測試服務(wù)器并通知部署團(tuán)隊;如果構(gòu)建失敗,那么Jenkins會將錯誤通知給開發(fā)人員團(tuán)隊。
由于代碼是一次性構(gòu)建的,一些開發(fā)人員需要等到其他開發(fā)人員完成編碼才能檢查他們的構(gòu)建代碼是在任何Developer提交后立即構(gòu)建的。
隔離,檢測和修復(fù)多次提交的錯誤并不是一件容易的事情。由于代碼是在每次提交單個開發(fā)人員之后構(gòu)建的,因此很容易檢測到哪些代碼導(dǎo)致構(gòu)建失敗
代碼構(gòu)建和測試過程完全是手動的,因此存在很多失敗的可能性。自動構(gòu)建和測試過程可節(jié)省時間并減少缺陷。
修復(fù)并測試所有錯誤后,才能部署代碼。每次成功構(gòu)建和測試后都會部署代碼。
開發(fā)周期緩慢開發(fā)周期很快。

用戶可以更輕松地使用新功能。
增加利潤。

5 持續(xù)集成的實(shí)際案例研究

我相信大家都知道諾基亞的舊手機(jī)。諾基亞曾經(jīng)實(shí)施過稱為夜間構(gòu)建的程序。在白天多次提交多個開發(fā)人員后,每晚都會構(gòu)建軟件。由于該軟件僅在一天內(nèi)構(gòu)建一次,因此在大型代碼庫中隔離,發(fā)現(xiàn)和修復(fù)錯誤是一件非常大的難事。

后來,他們采用了持續(xù)集成方法,一旦開發(fā)人員提交了代碼,就會構(gòu)建并測試該軟件,如果檢測到任何錯誤,相應(yīng)的開發(fā)人員可以快速修復(fù)缺陷。

6 Jenkins插件

默認(rèn)情況下,Jenkins提供一組有限的功能。如果你想在Jenkins中安裝Git等版本控制工具集成,那么就需要安裝與Git相關(guān)的插件。實(shí)際上,為了集成Maven,Amazon EC2等工具,你也需要在Jenkins中安裝相應(yīng)的插件。

7 使用Jenkins的優(yōu)點(diǎn)

  • Jenkins由社區(qū)管理,非常開放。每個月,他們都會舉行公開會議并接受公眾的意見,以促進(jìn)Jenkins項目的發(fā)展。
  • 到目前為止,Github上大約有4000多個issues被關(guān)閉,500多個貢獻(xiàn)者,10000+star,該項目每3個月發(fā)布一次穩(wěn)定版本,每個月都會有小版本發(fā)布
  • 隨著技術(shù)的發(fā)展, Jenkins也是如此。到目前為止,Jenkins在其插件數(shù)據(jù)庫中發(fā)布了大約超過1000個插件。借助插件,Jenkins變得更加強(qiáng)大,功能豐富。
  • Jenkins還支持基于云的架構(gòu),因此你可以在基于云的平臺中部署Jenkins
  • Jenkins之所以流行,是因?yàn)樗怯砷_發(fā)人員為開發(fā)人員創(chuàng)建的。

8 使用Jenkins的缺點(diǎn)

盡管Jenkins是一個非常強(qiáng)大的工具,但是它也有它的缺陷:

  • 與當(dāng)前的前端UI趨勢相比,它的界面過時且不便于用戶使用
  • 盡管Jenkins受到許多開發(fā)人員的喜愛,但維護(hù)它并不容易,因?yàn)镴enkins在服務(wù)器上運(yùn)行并需要一些技能作為服務(wù)器管理員來監(jiān)控其活動
  • 許多人沒有實(shí)現(xiàn)Jenkins的原因之一是由于難以安裝和配置Jenkins
  • 由于一些小的設(shè)置變化,連續(xù)集成會定期中斷。持續(xù)集成將暫停,因此需要一些開發(fā)人員的注意

9 總結(jié)

  • 在持續(xù)集成中,代碼提交后,軟件即刻構(gòu)建和測試
  • Jenkins是一個開源的持續(xù)集成服務(wù)器,能夠協(xié)調(diào)一系列操作
  • 在沒有Jenkins之前,當(dāng)所有開發(fā)人員完成他們分配的編碼任務(wù)時,他們過去常常同時提交他們的代碼,然后才進(jìn)行測試和部署。
  • 在使用Jenkins之后,代碼構(gòu)建并在開發(fā)者提交代碼后立即進(jìn)行測試。Jenkin將在白天多次構(gòu)建和測試代碼
  • 默認(rèn)情況下,Jenkins提供一組有限的功能。如果你想將Jenkins安裝與Git等版本控制工具集成,那么你需要安裝與Git相關(guān)的插件
  • Jenkins最大的優(yōu)點(diǎn)是它由社區(qū)管理,該社區(qū)舉行公開會議并接受公眾對Jenkins項目開發(fā)的意見
  • Jenkin的最大特點(diǎn)是它的界面已經(jīng)過時,與當(dāng)前的UI趨勢相比不是用戶友好的

10 參考鏈接

  • https://jenkins.io/zh/
  • https://github.com/jenkinsci/jenkins

總結(jié)

以上是生活随笔為你收集整理的3天学会Jenkins_1_Jenkin与CI(Continuous Integration,持续集成)?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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