Linux上yum安裝并配置Jenkins
在Red Hat系(如Red Hat Enterprise Linux(RHEL),CentOS,F(xiàn)edora或Scientific Linux)上安裝Jenkins(yum方式)土涝。
前提條件
Jenkins依賴Jdk、Maven熙兔、Git, 在服務(wù)器上弛说,首先配置 Jdk環(huán)境(注意版本兼容)挽懦,Maven環(huán)境, 裝好Git。
說明: 由于Gitlab 對內(nèi)存要求太高, 我的云服務(wù)器是2G內(nèi)存, 所以使用的是碼云+Jenkins來實現(xiàn)持續(xù)集成剃浇。
附上Jenkins和Jdk的兼容關(guān)系:
- 2.54(2017-04)和更新版本:Java 8
- 1.612(2015-05)及更新版本:Java 7
安裝
運(yùn)行以下命令:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
如果你之前從Jenkins導(dǎo)入了密鑰巾兆,則“rpm --import”將失敗猎物,因為你已經(jīng)有了密鑰虎囚。可以忽略它并繼續(xù)前進(jìn)蔫磨。
接下來運(yùn)行install命令安裝:
yum install jenkins
啟動/停止
sudo service jenkins start/stop/restart
設(shè)置允許開機(jī)啟動
sudo chkconfig jenkins on
注意:
-
如果收到以下錯誤消息淘讥,請確保已安裝Java:
Starting jenkins (via systemctl): Job for jenkins.service failed. See 'systemctl status jenkins.service' and 'journalctl -xn' for details. [FAILED]
-
如果遇到以下問題:
Starting Jenkins bash: /usr/bin/java: No such file or directory [FAILED]
解決方案:去 /etc/init.d/ 打開 jenkins 文件
vim /etc/init.d/jenkins
你會發(fā)現(xiàn):
candidates=" /etc/alternatives/java /usr/lib/jvm/java-1.6.0/bin/java /usr/lib/jvm/jre-1.6.0/bin/java /usr/lib/jvm/java-1.7.0/bin/java /usr/lib/jvm/jre-1.7.0/bin/java /usr/lib/jvm/java-1.8.0/bin/java /usr/lib/jvm/jre-1.8.0/bin/java /usr/bin/java "
這些是Jenkins查找java的路徑,如果你安裝的java不存在于上述任何路徑中, 就需要在上面的Jenkins文件中添加該路徑堤如。
candidates=" 你的jdk安裝路徑,如/home/java/jdk1.8.0_191/bin/java /etc/alternatives/java /usr/lib/jvm/java-1.6.0/bin/java /usr/lib/jvm/jre-1.6.0/bin/java /usr/lib/jvm/java-1.7.0/bin/java /usr/lib/jvm/jre-1.7.0/bin/java /usr/lib/jvm/java-1.8.0/bin/java /usr/lib/jvm/jre-1.8.0/bin/java /usr/bin/java "
防火墻以及云服務(wù)器白名單
-
修改防火墻允許8080端口訪問(PS: 當(dāng)然也可以直接永久關(guān)閉防火墻,一了百了 /奸笑)
vim /etc/sysconfig/iptables
-
加入
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-
重啟防火墻生效
sudo service iptables restart
如果使用是阿里云之類的云服務(wù)器, 需要在控制臺添加安全組規(guī)則, 外網(wǎng)才能訪問蒲列。
登錄
在瀏覽器中訪問(我的訪問路徑是http://47.98.216.253:8080/,端口默認(rèn)8080)
首次進(jìn)入會要求輸入初始密碼如下圖窒朋,
-
初始密碼在:/var/lib/jenkins/secrets/initialAdminPassword
首次登錄默認(rèn)安裝 -
選擇“Install suggested plugins”安裝默認(rèn)的插件,下面Jenkins就會自己去下載相關(guān)的插件進(jìn)行安裝蝗岖。
自動安裝插件 -
安裝完成之后, 創(chuàng)建管理員賬號, 配置項目訪問的根路徑, 然后完成侥猩。讓我們登錄進(jìn)來看看:
Jenkins主頁
配置Jenkins實現(xiàn)持續(xù)集成
- 安裝插件
-
進(jìn)入菜單"系統(tǒng)管理"-->"插件管理"-->"Installed"
安裝插件
-
配置Jdk, Maven, Git
-
進(jìn)入菜單"系統(tǒng)管理" --> "全局工具配置"
全局工具配置
全局工具配置
-
-
新建項目
新建一個maven項目 -
跳轉(zhuǎn)項目配置頁(配置過程中如果缺少插件需要去安裝,可點擊"Apply"按鈕保存已輸入的配置信息)
項目配置
這里也可以通過主頁點擊項目名,然后選擇"配置"來進(jìn)入此頁面
-
配置流程 "general" --> "Source Code Management(源碼管理)" --> "Build Triggers(構(gòu)建觸發(fā)器)" --> "build" --> "Post-build Actions(構(gòu)建后操作)"
general
源碼管理說明: 配置你的碼云項目所在的地址和郵箱以及私鑰(通過旁邊的add添加,下面放圖)
源碼管理
添加憑據(jù)
構(gòu)建觸發(fā)器說明: 這一欄選擇Gitee webhook打鉤(若沒有說明沒有安裝碼云的插件), 下面提示一個URL需要用到(關(guān)聯(lián)碼云項目的),另外點擊"生成"按鈕生成的密碼也會在關(guān)聯(lián)碼云時用到。
構(gòu)建觸發(fā)器
如圖,關(guān)聯(lián)碼云項目,點擊添加按鈕,填寫上圖中的url和生成的密碼
碼云WebHooks
設(shè)置僅在build成功的時候運(yùn)行
僅在build成功時運(yùn)行
構(gòu)建后操作:
構(gòu)建后操作
如果看不到下面這個選項,說明你沒有安裝"Deploy to container"插件:
構(gòu)建后操作
因為需要自動構(gòu)建然后部署到tomcat, 所以要提供擁有足夠權(quán)限的角色(賬號密碼),來操作tomcat部署war包; 進(jìn)入到tomcat的conf文件夾下打開tomcat-user.xml,然后加上角色(username,password可以隨意抵赢,其它的照寫,加到<tomcat-user>標(biāo)簽內(nèi))
tomcat-user.xml
另外, tomcat8 (包含) 以上, 還需要修改tomcat下的webapps/manager/META-INF/context.xml文件,如圖:
webapps/manager/META-INF/context.xml
然后配置上最后的tomcat,大功告成:
構(gòu)建后操作