1、 Jenkins CI/CD 流程圖
說明:這張圖稍微更形象一點,上線之前先把代碼git到版本倉庫,然后通過Jenkins 如Java項目通過maven去構(gòu)建,這是在非容器之前,典型的自動化的一個版本上線流程。那它有哪些問題呢?
如:它的測試環(huán)境,預(yù)生產(chǎn)環(huán)境,測試環(huán)境。會存在一定的兼容性問題 (環(huán)境之間會有一定的差異)
說明:它這里有一個docker harbor 的鏡像倉庫,通常會把你的環(huán)境打包為一個鏡像,通過鏡像的方式來部署。
Jenkins持續(xù)集成01—Jenkins服務(wù)搭建和部署
2、介紹 Jenkins
1、Jenkins概念
Jenkins是一個功能強大的應(yīng)用程序,允許持續(xù)集成和持續(xù)交付項目,無論用的是什么平臺。這是一個免費的源代碼,可以處理任何類型的構(gòu)建或持續(xù)集成。集成Jenkins可以用于一些測試和部署技術(shù)。Jenkins是一種軟件允許持續(xù)集成。
2、Jenkins目的
① 持續(xù)、自動地構(gòu)建/測試軟件項目。
② 監(jiān)控軟件開放流程,快速問題定位及處理,提示開放效率。
3、特性
① 開源的java語言開發(fā)持續(xù)集成工具,支持CI,CD。
② 易于安裝部署配置:可通過yum安裝,或下載war包以及通過docker容器等快速實現(xiàn)安裝部署,可方便web界面配置管理。
③ 消息通知及測試報告:集成RSS/E-mail通過RSS發(fā)布構(gòu)建結(jié)果或當(dāng)構(gòu)建完成時通過e-mail通知,生成JUnit/TestNG測試報告。
④ 分布式構(gòu)建:支持Jenkins能夠讓多臺計算機一起構(gòu)建/測試。
⑤ 文件識別:Jenkins能夠跟蹤哪次構(gòu)建生成哪些jar,哪次構(gòu)建使用哪個版本的jar等。
⑥ 豐富的插件支持:支持擴展插件,你可以開發(fā)適合自己團隊使用的工具,如git,svn,maven,docker等。
4、產(chǎn)品發(fā)布流程
產(chǎn)品設(shè)計成型 -> 開發(fā)人員開發(fā)代碼 -> 測試人員測試功能 -> 運維人員發(fā)布上線
持續(xù)集成(Continuous integration,簡稱CI)
持續(xù)交付(Continuous delivery)
持續(xù)部署(continuous deployment)
3、安裝Jenkins
1、安裝JDK
Jenkins是Java編寫的,所以需要先安裝JDK,這里采用yum安裝,如果對版本有需求,可以直接在Oracle官網(wǎng)下載JDK;也可自己編譯安裝。
2、安裝Jenkins
1、上傳 jdk11 tomcat jenkins.war 2、解壓jdk
[root@jenkins ~]# tar xf jdk-11.0.18_linux-x64_bin.tar.gz
3、解壓tomcat
[root@jenkins ~]# tar xf apache-tomcat-8.5.50.tar.gz
4、拷貝并修改名稱
[root@jenkins ~]# mv jdk-11.0.18/ /usr/local/java && mv apache-tomcat-8.5.50 /usr/local/tomcat
5、處理環(huán)境變量
[root@jenkins ~]# vim /etc/profile.d/java.sh
TOMCAT_HOME=/usr/local/tomcat
JAVA_HOME=/usr/local/java
PATH=$TOMCAT_HOME/bin:$JAVA_HOME/bin:$PATH
export TOMCAT_HOME JAVA_HOME PATH
[root@jenkins ~]# source /etc/profile.d/java.sh
6、上傳jenkins
[root@jenkins ~]# rm -rf /usr/local/tomcat/webapps/*
[root@jenkins ~]# cp jenkins.war /usr/local/tomcat/webapps/
7、啟動tomcat,并頁面訪問
[root@jenkins ~]# startup.sh
? 訪問 ip:8080
為了安全考慮,首先需要解鎖Jenkins,請在/var/lib/jenkins/secrets/initialAdminPassword中查看文件。
在Jenkins服務(wù)器上查詢管理員密碼
[root@centos7-1 ~]# cat /data/jenkins/secrets/initialAdminPassword
250d0360e2a149dbb7402f96a26945e2
② 選擇需要安裝的插件
選擇默認推薦即可,會安裝通用的社區(qū)插件,剩下的可以在使用的時候再進行安裝。
開始安裝,由于網(wǎng)絡(luò)原因,有一些插件會安裝失敗。
③ 設(shè)置Admin用戶和密碼
④ 安裝完成
⑤ 登錄Jenkins
4、安裝完后,簡單的配置
1、系統(tǒng)配置
① 系統(tǒng)消息:Welcome to Jenkins~
② 全局屬性--->環(huán)境變量,可根據(jù)自己的項目添加;如:gitlab:
③ 擴展郵件通知(用于之后項目構(gòu)建后發(fā)送郵件)
④ 郵件配置
管理監(jiān)控配置--->系統(tǒng)管理員郵件地址:along@163.com,要和下面的用戶名一致;
郵件通知,配置如下:可以點擊測試,是否配置成功
2、全局工具配置
如果你持續(xù)集成需要用的哪些工具,就需要在這里添加配置;后邊持續(xù)集成中,將會詳細講解;
這里只舉例:添加JDK工具
點擊新增---> 取消自動安裝 ---->然后查詢Jenkins服務(wù)器上JDK的路徑,填寫JAVA_HOME ---> 保存即可
3、插件管理
這里有可更新、可選未安裝插件、已安裝插件;可以通過過濾快速查找
5、添加節(jié)點
node 節(jié)點的作用
分布式構(gòu)建:通過添加多個節(jié)點,可以在多臺計算機上并行執(zhí)行構(gòu)建任務(wù),從而加快構(gòu)建速度和提高效率。節(jié)點可以是物理計算機、虛擬機、云實例或容器等。
擴展計算能力:通過添加更多的節(jié)點,可以擴展Jenkins的計算能力,使其能夠處理更多的并發(fā)構(gòu)建任務(wù),從而適應(yīng)不斷增長的工作負載。
平臺兼容性:使用Node節(jié)點可以在不同的操作系統(tǒng)、不同的硬件平臺上執(zhí)行構(gòu)建任務(wù),以滿足項目的特定需求。您可以配置節(jié)點以適應(yīng)特定的操作系統(tǒng)、軟件環(huán)境和工具鏈。
隔離和安全性:將構(gòu)建任務(wù)分配給獨立的節(jié)點可以提供更好的隔離和安全性。節(jié)點之間相互獨立,一個節(jié)點的故障或問題不會影響其他節(jié)點的工作。
負載平衡:Jenkins可以根據(jù)節(jié)點的負載情況自動分配任務(wù),從而實現(xiàn)負載平衡。這樣可以更好地利用可用資源,并確保每個節(jié)點都能以最佳狀態(tài)運行。
1、準備節(jié)點
1、準備一臺新的服務(wù)器并配置java環(huán)境 2、主節(jié)點添加憑據(jù),并推送公鑰 3、在node節(jié)點配置需要的工具
2、系統(tǒng)配置
3、添加節(jié)點
文章來源:http://www.zghlxwxcb.cn/news/detail-754967.html
4、檢查節(jié)點
文章來源地址http://www.zghlxwxcb.cn/news/detail-754967.html
到了這里,關(guān)于Jenkins CI/CD的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!