大家好,我是十一潘鲫。
前情回顧
上篇我們主要講持續(xù)化集成的相關(guān)術(shù)語溉仑,我們先來回顧下前篇內(nèi)容:
持續(xù)化集成:簡稱CI彼念,指的是頻繁地(一天多次)將個人研發(fā)的代碼部分集成到主干浅萧,然后自動構(gòu)建并進(jìn)行單元測試的過程洼畅。目的是讓產(chǎn)品可以快速迭代棚赔,同時(shí)還能保持高質(zhì)量靠益。
持續(xù)交付胧后,簡稱CD,通常是指整個流程鏈壳快,它自動監(jiān)測源代碼變更并通過構(gòu)建、測試眶痰、打包和相關(guān)操作運(yùn)行它們以生成可部署的版本。它的目標(biāo)在于讓軟件的構(gòu)建竖伯、測試與發(fā)布變得更快以及更頻繁存哲。這種方式可以減少軟件開發(fā)的成本與時(shí)間,減少風(fēng)險(xiǎn)祟偷。
持續(xù)測試羽嫡,是指在代碼通過持續(xù)構(gòu)建后執(zhí)行的自動化測試的實(shí)踐,包括單元測試杭棵,對自動化覆蓋率要求較高。其目的一是保證每次發(fā)布的版本可以在生產(chǎn)環(huán)境上使用;二是快速發(fā)現(xiàn)問題并提醒開發(fā)團(tuán)隊(duì)艰管。
持續(xù)部署撩笆,是指能夠自動提供發(fā)布版本給最終用戶,并且使其自動運(yùn)行缸浦。最終目的是達(dá)到所有的交付成果都是“可部署的”歹鱼。
上篇漏了一個概念,就是持續(xù)構(gòu)建卜高,在這里補(bǔ)上:
持續(xù)構(gòu)建弥姻,是指持續(xù)的自動化構(gòu)建,在持續(xù)集成基礎(chǔ)之上掺涛,對每次集成后的代碼打包編譯打包的過程庭敦。
本篇內(nèi)容
我們今天來看一款專業(yè)的持續(xù)化集成的工具-Jenkins。
Jenkins是什么薪缆?
Jenkins是一款開源 CI&CD 軟件秧廉,用于自動化各種任務(wù),包括構(gòu)建矮燎、測試和部署軟件定血。
Jenkins 支持各種運(yùn)行方式,可通過系統(tǒng)包诞外、Docker 或者通過一個獨(dú)立的 Java 程序澜沟。
?????????????????????????????????????????????????????? --來自Jenkins官方文檔,https://jenkins.io/zh/doc/
Jenkins是一個開源軟件項(xiàng)目峡谊,是基于Java開發(fā)的一種持續(xù)集成工具茫虽,用于監(jiān)控持續(xù)重復(fù)的工作刊苍,旨在提供一個開放以用的軟件平臺,使軟件的持續(xù)集成變成可能濒析。
?????????????????????????????????????????????????????????????????????????????????????????????????????????? --來自百度百科
總結(jié)下我們:Jenkins就是一款開源的CI&CD工具正什,用于監(jiān)控以及運(yùn)作各種自動化任務(wù),包括構(gòu)建号杏、測試和部署軟件婴氮。要注意的是,Jenkins本身只是提供一個平臺盾致,真正做事情的是插件主经,它提供各種各樣的插件供我們使用。Hudson是Jenkins的前身庭惜。
Jenkins特性
從上面的是什么中大家大概也都了解了Jenkins能做什么了罩驻,那為什么要用他呢?當(dāng)然是他的強(qiáng)大的功能以及他的簡單易用护赊,這里我們看下官網(wǎng)的說法:
1.持續(xù)集成和持續(xù)交付
Jenkins是一款開源的持續(xù)化集成工具惠遏,支持CI&CD。
2.簡易安裝
Jenkins支持三種方式的安裝骏啰,分別是:docker鏡像节吮、war包以及直接通過命令下載安裝。
3.配置簡單
Jenkins提供界面供用戶配置和操作器一,支持中文课锌,界面中幾乎每個選項(xiàng)后都有幫助信息。
4.豐富的插件
上面有說到祈秕,Jenkins本身只提供一個平臺,具體的運(yùn)行還需要各種各樣的插件來完成雏胃,目前他支持的插件已有1000多種请毛。這些插件可以輕松讓我們做到很多事情,比如傳參瞭亮,郵件通知方仿,監(jiān)控、構(gòu)建统翩、測試仙蚜、部署等等。
5.擴(kuò)展
支持插件擴(kuò)展厂汗,我們可以在其上開發(fā)適合自己團(tuán)隊(duì)的插件委粉。
6.分布式
輕松地在多臺機(jī)器上分配工作,如此使得我們的工作效率呈指數(shù)增長娶桦。
日常CI&CD
之前我們一直在講CI&CD贾节,那他具體都能做到哪些事情呢汁汗?我們先來看下當(dāng)下流行的軟件過程:
我們通過Jenkins以及他強(qiáng)大的插件軍團(tuán)可以實(shí)現(xiàn)上面的流水線哦,具體如何工作大家自己先找找答案吧栗涂!
十一得吧得:
本片文章大部分內(nèi)容來自Jenkins官網(wǎng)知牌,這里給大家提供文獻(xiàn)和鏈接,私下可以先做下工作哦斤程!
Jenkins官網(wǎng):https://jenkins.io/
Jenkins下載:http://updates.jenkins-ci.org/
Jenkins的全部鏡像:http://mirrors.jenkins-ci.org/
怎么樣角寸?是不是已經(jīng)感受到了他的強(qiáng)大?本篇就到這兒吧忿墅,后續(xù)篇章我們會陸續(xù)講Jenkins的安裝扁藕、啟動、以及使用的球匕,敬請期待呦~纹磺。我們下篇再見!Bye~
特別提醒:
我們在學(xué)怎么用之前還是應(yīng)該先知道它是什么亮曹,為什么要用它橄杨。
上篇:《持續(xù)化集成-01》-講述了持續(xù)化集成相關(guān)概念以及為什么要用持續(xù)化集成,