一.Jenkins簡(jiǎn)介
Jenkins只是一個(gè)平臺(tái)蝌诡,真正運(yùn)作的都是插件包吝。這就是jenkins流行的原因譬圣,因?yàn)閖enkins什么插件都有 。
Hudson是Jenkins的前身身腻,Hudson是基于Java開(kāi)發(fā)的一種持續(xù)集成工具产还,用于監(jiān)控程序重復(fù)持續(xù)的工作,Hudson后來(lái)被收購(gòu)嘀趟,成為商業(yè)版脐区。后來(lái)為了方便使用創(chuàng)始人又寫了一個(gè)jenkins,jenkins在功能上遠(yuǎn)遠(yuǎn)超過(guò)hudson她按。
Jenkins的優(yōu)點(diǎn)和功能特性
持續(xù)集成和持續(xù)交付
作為一個(gè)可擴(kuò)展的自動(dòng)化服務(wù)器牛隅,Jenkins 可以用作簡(jiǎn)單的 CI 服務(wù)器炕柔,或者變成任何項(xiàng)目的持續(xù)交付中心。
簡(jiǎn)易安裝
Jenkins 是一個(gè)基于 Java 的獨(dú)立程序媒佣,可以立即運(yùn)行匕累,包含 Windows、Mac OS X 和其他類 Unix 操作系統(tǒng)默伍。
配置簡(jiǎn)單
Jenkins 可以通過(guò)其網(wǎng)頁(yè)界面輕松設(shè)置和配置哩罪,其中包括即時(shí)錯(cuò)誤檢查和內(nèi)置幫助。
插件
通過(guò)更新中心中的 1000 多個(gè)插件巡验,Jenkins 集成了持續(xù)集成和持續(xù)交付工具鏈中幾乎所有的工具际插。
擴(kuò)展
Jenkins 可以通過(guò)其插件架構(gòu)進(jìn)行擴(kuò)展,從而為 Jenkins 可以做的事提供幾乎無(wú)限的可能性显设。
分布式
Jenkins 可以輕松地在多臺(tái)機(jī)器上分配工作框弛,幫助更快速地跨多個(gè)平臺(tái)推動(dòng)構(gòu)建、測(cè)試和部署捕捂。
二.安裝環(huán)境
1.操作系統(tǒng):Centos 7.6
2.服務(wù)器配置:2G內(nèi)存瑟枫,50G磁盤
3.安裝包:jdk-8u211-linux-x64.rpm jenkins-2.190.2-1.1.noarch.rpm apache-tomcat-9.0.26.tar.gz
4.關(guān)閉selinux和防火墻
三.部署Jenkins
官網(wǎng):https://jenkins.io/
國(guó)內(nèi)下載地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/
1.安裝jdk
[root@jenkins ~]# yum -y localinstall jdk-8u211-linux-x64.rpm
2.安裝jenkins
注意:?jiǎn)?dòng)Jenkins的方式不同,對(duì)應(yīng)的文件存放目錄等是存在差異的指攒,具體的請(qǐng)注意一下即可慷妙。
2.1下載安裝Jenkins
[root@jenkins ~]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.190.2-1.1.noarch.rpm
#注意:其它版本安裝包,對(duì)應(yīng)官方下載既可允悦。
[root@jenkins ~]# yum -y localinstall jenkins-2.190.2-1.1.noarch.rpm
jenkins主要的目錄:
/usr/lib/jenkins/:jenkins安裝目錄膝擂,WAR包會(huì)放在這里
/etc/sysconfig/jenkins:jenkins配置文件,“端口”隙弛,“JENKINS_HOME”等都可以在這里配置
/var/lib/jenkins/:默認(rèn)的JENKINS_HOME
/var/log/jenkins/jenkins.log:Jenkins日志文件
2.2啟動(dòng)Jenkins
注意:
1架馋、如果jenkins啟動(dòng)用戶是jenkins,則無(wú)法拉取代碼全闷,因?yàn)槲覀兪前裷oot的公鑰推送到gitlab普通用戶dev下(dev屬于ops組叉寂,所以可以拉取代碼)
2、jenkins用戶啟動(dòng)总珠,需要把root公鑰放到deploy下
項(xiàng)目--settings--repository-deploy keys
第一種啟動(dòng)方法:
#配置jenkins
[root@jenkins ~]# vim /etc/sysconfig/jenkins #進(jìn)入配置文件啟動(dòng)用戶修改為root屏鳍,默認(rèn)的為Jenkins。
.....
JENKINS_USER="root"
.....
#啟動(dòng)Jenkins
[root@CentOS7 ~]# systemctl start jenkins
[root@CentOS7 ~]# systemctl enable jenkins
第二種方法是用tomcat打開(kāi)
解壓tomcat到某個(gè)目錄,如/usr/local局服,進(jìn)入tomcat下的/bin目錄钓瞭,啟動(dòng)tomcat
將jenkins.war文件放入tomcat下的webapps目錄下,啟動(dòng)tomcat時(shí)腌逢,會(huì)自動(dòng)在webapps目錄下建立jenkins目錄降淮,在地址欄上需要輸入主機(jī)ip:8080/jenkins。
這里使用的是第二種方案進(jìn)行啟動(dòng)Jenkins:
#安裝tomcat
[root@jenkins ~]# tar xf apache-tomcat-9.0.26.tar.gz -C /usr/local/
[root@jenkins ~]# ln -s /usr/local/apache-tomcat- 9.0.26/usr/local/tomcat
[root@jenkins ~]# rm -rf /usr/local/tomcat/webapps/ROOT #刪除默認(rèn)站點(diǎn)目錄
[root@jenkins ~]# cp /usr/lib/jenkins/jenkins.war /usr/local/tomcat/webapps/ROOT.war#復(fù)制jenkins.war 到站點(diǎn)目錄下并重命名為ROOT.war
[root@jenkins ~]# /usr/local/tomcat/bin/startup.sh #啟動(dòng)Tomcat
#啟動(dòng)前查看該目錄是空的搏讶,啟動(dòng)后會(huì)生成相應(yīng)的文件
[root@jenkins ~]# ll /root/.jenkins/
total 28
-rw-r--r-- 1 root root 1640 2019-11-23 11:49 config.xml
-rw-r--r-- 1 root root 156 2019-11-23 11:47 hudson.model.UpdateCenter.xml
-rw------- 1 root root 1712 2019-11-23 11:47 identity.key.enc
-rw-r--r-- 1 root root 7 2019-11-23 11:47 jenkins.install.UpgradeWizard.state
-rw-r--r-- 1 root root 171 2019-11-23 11:47 jenkins.telemetry.Correlator.xml
drwxr-xr-x 2 root root 6 2019-11-23 11:47 jobs
drwxr-xr-x 3 root root 19 2019-11-23 11:47 logs
-rw-r--r-- 1 root root 907 2019-11-23 11:47 nodeMonitors.xml
drwxr-xr-x 2 root root 6 2019-11-23 11:47 nodes
drwxr-xr-x 2 root root 6 2019-11-23 11:47 plugins
-rw-r--r-- 1 root root 64 2019-11-23 11:47 secret.key
-rw-r--r-- 1 root root 0 2019-11-23 11:47 secret.key.not-so-secret
drwx------ 4 root root 265 2019-11-23 11:47 secrets
drwxr-xr-x 2 root root 26 2019-11-23 11:49 updates
drwxr-xr-x 2 root root 24 2019-11-23 11:47 userContent
drwxr-xr-x 3 root root 56 2019-11-23 11:47 users
說(shuō)明:如果你是使用第一種方式啟動(dòng)佳鳖,默認(rèn)情況下/var/lib/jenkins/是空的,啟動(dòng)后會(huì)出現(xiàn)相應(yīng)的配置文件媒惕。
2.3登錄web頁(yè)面進(jìn)行安裝http://ip:prot(默認(rèn)端口為8080)
2.4根據(jù)界面提示信息去服務(wù)daunt查看密碼
[root@jenkins ~]# cat /root/.jenkins/secrets/initialAdminPassword
7d429f2d73944e769180865371f9cbb5
2.5將上面的7d429f2d73944e769180865371f9cbb5復(fù)制到輸入框
2.6上個(gè)步驟執(zhí)行完成后系吩,會(huì)彈出下面的對(duì)話框,點(diǎn)擊推薦安裝即可妒蔚。
說(shuō)明:這里默認(rèn)情況下選擇推薦安裝插件是很難實(shí)現(xiàn)的穿挨,這里采用nginx代理的方式來(lái)實(shí)現(xiàn)跳轉(zhuǎn)清華源的方式進(jìn)行插件的安裝,具體操作請(qǐng)參考鏈接文檔:https://my.oschina.net/VASKS/blog/3106314
配置完成代理后進(jìn)行插件安裝肴盏,過(guò)程及結(jié)果如圖:
2.7創(chuàng)建第一個(gè)管理員用戶
2.8示例配置
2.9開(kāi)始使用Jenkins
2.10出現(xiàn)下面的界面科盛,那么Jenkins安裝就成功了。
注意:如果出現(xiàn)nginx代理也無(wú)法安裝插件的情況這里就只能在服務(wù)端進(jìn)行插件的安裝菜皂。這里只有在之前的步驟3.6之后才有變化
具體操作如下:
1)web界面設(shè)置
1.1彈出出下圖的對(duì)話框贞绵,點(diǎn)擊關(guān)閉即可。
1.2.開(kāi)始使用Jenkins
1.3.出現(xiàn)下面的界面恍飘,那么安裝就成功了
1.4.修改密碼
1.5修改完成后自動(dòng)跳入到登錄驗(yàn)證界面榨崩,這里用修改的密碼登錄驗(yàn)證。
2)插件安裝
2.1點(diǎn)擊系統(tǒng)管理
2.2點(diǎn)擊管理插件
2.3查看已經(jīng)安裝的插件
2.4可以在web界面直接安裝的插件
2.5在服務(wù)端安裝插件
安裝插件你可以自行在官方下載章母,導(dǎo)入到插件的安裝目錄下母蛛,之后重啟Jenkins即可使用。這里提供一個(gè)已下載好的插件包乳怎,一般需要的安裝的插件都已經(jīng)包含彩郊。
插件安裝獲取鏈接:https://pan.baidu.com/s/1EBdU60usgQXbCbGhlXa3pQ
提取碼:jp4q
#查看Jenkins插件包的目錄
[root@kibana ~]# cd /root/.jenkins/plugins/
[root@kibana ~/.jenkins/plugins]# ll
total 0
#將下載的安裝包上傳到服務(wù)器上之后解壓
[root@kibana ~/.jenkins/plugins]# rz -E
rz waiting to receive.
[root@kibana ~/.jenkins/plugins]# ls
plugins.tar.gz
#解壓插件壓縮包
[root@kibana ~/.jenkins/plugins]# tar xf plugins.tar.gz
[root@kibana ~/.jenkins/plugins]# ls
plugins plugins.tar.gz
#插件包共有191個(gè)
[root@kibana ~/.jenkins/plugins]# ll plugins/|wc -l #插件包共有191個(gè)
191
#移動(dòng)到Jenkins存放插件的目錄。
[root@kibana ~/.jenkins/plugins]# mv plugins/* .
[root@kibana ~/.jenkins/plugins]# ll|wc -l
193
#重啟tomcat
[root@kibana ~/.jenkins/plugins]# /usr/local/tomcat/bin/shutdown.sh
[root@kibana ~/.jenkins/plugins]# /usr/local/tomcat/bin/startup.sh
2.2瀏覽器刷新查看已安裝的插件
2.3安裝漢化包
2.4重啟tomcat
[root@kibana ~/.jenkins/plugins]# /usr/local/tomcat/bin/shutdown.sh
[root@kibana ~/.jenkins/plugins]# /usr/local/tomcat/bin/startup.sh
2.5瀏覽器查看漢化效果
至此Jenkins的部署全部完成蚪缀,你可以根據(jù)需要自己安裝即可焦辅。
解決提示“該Jenkins實(shí)例似乎已離線”或“界面一直停留在
提示
:Please wait while Jenkins is getting ready to work …
Your browser will reload automatically when Jenkins is ready.”的問(wèn)題
解決辦法請(qǐng)參考鏈接文檔:https://blog.51cto.com/13568014/2350363
啟動(dòng)Jenkins報(bào)錯(cuò)(自定義安裝jdk路徑容易出現(xiàn)的問(wèn)題)
Jenkins配置jdk(啟動(dòng)報(bào)錯(cuò):Starting Jenkins bash: /usr/bin/java: No such file or directory)
解決辦法:
[root@jenkins ~]# systemctl daemon-reload
[root@jenkins ~]# systemctl start jenkins