網(wǎng)站建設(shè)好學(xué)嗎google ads 推廣
目錄
前言
?關(guān)于Jenkins
安裝Jenkins
?docker中運(yùn)行Jenkins注意事項(xiàng)
通過(guò)容器中的Jenkins,把服務(wù)打包到docker進(jìn)行部署
啟動(dòng)Jenkins
?創(chuàng)建第一個(gè)任務(wù)
前言
? ? ? ??CI/CD(持續(xù)集成和持續(xù)交付/持續(xù)部署),它可以實(shí)現(xiàn)自動(dòng)化的構(gòu)建、測(cè)試和部署流程,開(kāi)發(fā)人員可以將更多精力集中在創(chuàng)新和功能開(kāi)發(fā)上,而不是維護(hù)和集成問(wèn)題;本文將使用docker中的Jenkins快速搭建出基本環(huán)境;
?關(guān)于Jenkins
????????Jenkins是一個(gè)開(kāi)源的自動(dòng)化服務(wù)器,主要用于持續(xù)集成(CI)和持續(xù)交付(CD),本文我們將采用Jenkins來(lái)進(jìn)行配置部署;
安裝Jenkins
使用docker 安裝直接拉取鏡像進(jìn)行安裝;
需要先安裝好docker;docker沒(méi)有安裝可以看我的這篇文章:【docker入門(mén)】docker的安裝
然后執(zhí)行以下命令:
docker run -d -p 8080:8080 jenkins/jenkins
?即可自動(dòng)拉取鏡像,并運(yùn)行;
?docker中運(yùn)行Jenkins注意事項(xiàng)
? ? ? ? 采用docker 運(yùn)行 Jenkins,直接上述明確啟動(dòng)會(huì)有一個(gè)問(wèn)題,就是一旦刪除容器,再次啟動(dòng)前邊的配置信息就都沒(méi)了,為了保留他配置信息,所以需要把Jenkins的存儲(chǔ)卷掛載到宿主機(jī):
-v jenkins_home:/var/jenkins_home
?這樣每次刪除容器后,重新創(chuàng)建容器,并掛載宿主機(jī)中的存儲(chǔ)卷,就可以保留前邊的配置信息;
通過(guò)容器中的Jenkins,把服務(wù)打包到docker進(jìn)行部署
? ? 容器里控制容器方式有多種,需要安裝插件操作比較復(fù)雜,這里推薦一種比較簡(jiǎn)單的方式:
首先想要執(zhí)行 docker 的命令,并且還可以拉取鏡像就需要額外掛載兩個(gè)目錄:
-v /var/run/docker.sock:/var/run/docker.sock
-v /usr/bin/docker:/usr/bin/docker
這樣就使得容器能夠與宿主機(jī)上的 Docker 守護(hù)進(jìn)程進(jìn)行通信;
也就是說(shuō)讓容器之間控制宿主機(jī)上的docker;
?一下是完整的命令:
docker run --name jenkins -d --privileged -p 8081:8080 -p 50000:50000\
-v jenkins_home:/var/jenkins_home\
-v /var/run/docker.sock:/var/run/docker.sock\
-v /usr/bin/docker:/usr/bin/docker\
-u root 鏡像id
?-p 8081:8080
?和?-p 50000:50000
: 映射端口,8081 映射到容器的 8080 端口(Jenkins Web 界面),50000 用于 Jenkins 的代理連接;
啟動(dòng)Jenkins
? ? ? ? 前邊的基礎(chǔ)環(huán)境搭好了,現(xiàn)在就可以之間在瀏覽器訪問(wèn)Jenkins;
首次訪問(wèn)會(huì)出現(xiàn)以下頁(yè)面:
查看密鑰可以使用:
查看Jenkins容器的日志
docker logs Jenkins
?把密鑰輸入到管理員密碼框;然后點(diǎn)擊繼續(xù);
然后看到一下頁(yè)面:
?然后等待插件安裝:
?博主在使用war包之間運(yùn)行時(shí)出現(xiàn)了插件全部安裝失敗的情況,所以采用了docker部署的方式,docker中的一般都已經(jīng)配置好,不需要修改額外的配置;
安裝完成之后創(chuàng)建用戶:
輸入信息然后點(diǎn)擊保存并完成 ;
?根據(jù)引導(dǎo)進(jìn)入Jenkins首頁(yè):
?創(chuàng)建第一個(gè)任務(wù)
?
?根據(jù)需求創(chuàng)建一個(gè)任務(wù),這里演示就創(chuàng)建一個(gè)free風(fēng)格的任務(wù);然后點(diǎn)擊確認(rèn):
?然后進(jìn)入以下頁(yè)面:
?
?gitee的倉(cāng)庫(kù)的url在gitee上進(jìn)行查看:
?輸入之后添加憑證:
倉(cāng)庫(kù)為私有就添加,公開(kāi)倉(cāng)庫(kù)就可以不添加
?然后就會(huì)進(jìn)入以下頁(yè)面:
選擇用戶名密碼:
?然后輸入用戶名密碼即可,id和描述可自行添加;
選擇拉取的分支:
?然后就是構(gòu)建觸發(fā)器,可以根據(jù)情況進(jìn)行設(shè)置,使用gitee的webhook出現(xiàn)的問(wèn)題較多,后續(xù)會(huì)出一篇文章進(jìn)行介紹演示;
設(shè)置構(gòu)建步驟:
想把服務(wù)打包成鏡像就需要在這里選擇shell;
?可以在命令行框中輸入一個(gè)docker 命令,查看是否可以使用docker來(lái)進(jìn)行測(cè)試:
???????
?在框中輸入要執(zhí)行的shell命令即可;設(shè)置完成之后即可保存;
點(diǎn)擊立即構(gòu)建即可測(cè)試gitee與是否
?查看是否成功:
點(diǎn)擊構(gòu)建記錄,兩個(gè)框中的任何一個(gè)都可以,點(diǎn)擊某一條構(gòu)建記錄;
?然后進(jìn)入這個(gè)界面:
?點(diǎn)擊控制臺(tái)輸出,即可查看執(zhí)行情況;
?docker命令執(zhí)行成功,也就是說(shuō)Jenkins可以執(zhí)行docker命令;
以上便是本文的全部?jī)?nèi)容,希望對(duì)你有所幫助,最后感謝閱讀!