目錄
1、前言
2、什么是CI/CD
3、部署Jenkins
3.1、下載Jenkins
3.2、啟動(dòng)Jenkins
3.3、訪問Jenkins頁面
4、Jenkins部署一個(gè)應(yīng)用
5、Jenkins實(shí)現(xiàn)Docker應(yīng)用的持續(xù)集成和部署
5.1、創(chuàng)建Dockerfile
5.2、集成Jenkins和Docker
6、小結(jié)
1、前言
持續(xù)集成(CI/CD)是一種軟件開發(fā)的經(jīng)驗(yàn)總結(jié)。它用于幫助開發(fā)團(tuán)隊(duì)和交付團(tuán)隊(duì)實(shí)現(xiàn)頻繁且快速的集成,以及測(cè)試他們的工作成果,以盡可能快地發(fā)現(xiàn)項(xiàng)目開發(fā)和交付工程中的錯(cuò)誤。越頻繁,越早的項(xiàng)目集成與項(xiàng)目交付,則意味著問題會(huì)被越早發(fā)現(xiàn)。因此,通過持續(xù)集成 ( CI/CD)可以及時(shí)發(fā)現(xiàn)和解決代碼故障,提高代碼質(zhì)量,減少故障處理成本等。
2、什么是CI/CD
CI/CD 是一種通過在應(yīng)用的開發(fā)階段引入自動(dòng)化來頻繁向客戶交付應(yīng)用的方法。CI/CD 包含以下3 個(gè)概念:
- CI(Continuous Integration):持續(xù)集成。
- CD(Continuous Delivery):持續(xù)交付。
- CD(Continuous Deployment):持續(xù)部署。
而Jenkins作為一個(gè)開源的,也是被使用最多的持續(xù)集成工具,在項(xiàng)目中也是被廣泛使用。今天就以Jenkins為例來進(jìn)行介紹。
3、部署Jenkins
由于Jenkins是基于Java語言開發(fā)的,因此需要下安裝JDK環(huán)境,這里安裝了JDK8.
3.1、下載Jenkins
可以直接從官網(wǎng)下載Jenkins.war然后上傳到服務(wù)器。Jenkins download and deployment
需要注意的是jenkins支持的JDK版本,從官方文檔中可以看出幾個(gè)LTS版本所需要的java環(huán)境。
由于我們JDK環(huán)境是java8,因此這里下載這里下載的是2.346.3版本的war包。
快速下載地址:Index of /war-stable/2.346.3
wget --no-check-certificate https://get.jenkins.io/war-stable/2.346.3/jenkins.war
這里由于鏡像問題,需要多嘗試幾次。
3.2、啟動(dòng)Jenkins
下載后,啟動(dòng)Jenkins:
java -jar jenkins.war
輸出以下信息則表示啟動(dòng)成功。
3.3、訪問Jenkins頁面
瀏覽器訪問http://192.168.74.128:8080/。
后續(xù)的Jenkins安裝步驟這里忽略,教程應(yīng)該很多。
安裝完成后,進(jìn)入到Jenkins主頁面。
4、Jenkins部署一個(gè)應(yīng)用
傳統(tǒng)的Jenkins構(gòu)建應(yīng)用這里就不贅述了,這里是Docker專欄,所以我們重點(diǎn)講下面一節(jié),實(shí)現(xiàn)Docker應(yīng)用的持續(xù)集成和部署。
5、Jenkins實(shí)現(xiàn)Docker應(yīng)用的持續(xù)集成和部署
在Docker應(yīng)用開發(fā)中,最常見的就是使用Dockerfile文件,可以使用代碼倉(cāng)庫管理他。
一般來說企業(yè)中的代碼倉(cāng)庫都是私有的,部門會(huì)自己搭建私有的代碼倉(cāng)庫,如SVN、GitLab等。這里方便演示,我就不自己搭了,使用Github直接演示(主要還是懶)。
部署Jenkins的服務(wù)器,必須提前安裝Git。
5.1、創(chuàng)建Dockerfile
在我們本地創(chuàng)建一個(gè)Dockerfile文件,里面實(shí)現(xiàn)一個(gè)nginx的簡(jiǎn)單頁面:
FROM nginx
RUN echo '<h1>this is jenkins build demo,version:1</h1>' > /usr/share/nginx/html/index.html
將文件提交到Github倉(cāng)庫中。
同時(shí)在倉(cāng)庫中的Settings中配置webhook,Payload URL配置我們Jenkins的地址,用于每次我們提交代碼時(shí)都向Jenkins發(fā)送一個(gè)http請(qǐng)求。
5.2、集成Jenkins和Docker
Jenkins中創(chuàng)建一個(gè)Freestyle project的任務(wù)。
在源碼管理中配置Git相關(guān)信息。
接著在構(gòu)建選項(xiàng)中,選擇“執(zhí)行shell”。
在命令對(duì)話框中輸入構(gòu)架容器命令:
docker build -t my_jenkins_docker_demo .
docker run -d -p 8081:80 my_jenkins_docker_demo
點(diǎn)擊保存后,在點(diǎn)擊立即構(gòu)建。
構(gòu)建成功后,訪問地址:http://192.168.74.128:8081:
文章來源:http://www.zghlxwxcb.cn/news/detail-678325.html
6、小結(jié)
至此,完成了Jenkins和Docker的集成,從而可以實(shí)現(xiàn)應(yīng)用的CI/CD。在實(shí)際項(xiàng)目開發(fā)中,可能會(huì)涉及大量的程序代碼,以及依賴的庫和環(huán)境,但使用Jenkins實(shí)現(xiàn)CI/CD的過程都大同小異。文章來源地址http://www.zghlxwxcb.cn/news/detail-678325.html
到了這里,關(guān)于14. Docker中實(shí)現(xiàn)CI和CD的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!