linux 搭建jenkins
一、什么是持續(xù)集成?
(1)Continuous integration(CI)
持續(xù)集成是一種軟件開發(fā)實踐,即團(tuán)隊開發(fā)成員經(jīng)常集成他們的工作,通常每個成員至少集成一次,也就意味著每天可能會發(fā)生多次集成。每次集成都通過自動化的構(gòu)建(包括編譯,發(fā)布,自動化測試)來驗證,從而盡快地發(fā)現(xiàn)集成錯誤。許多團(tuán)隊發(fā)現(xiàn)這個過程可以大大減少集成的問題,讓團(tuán)隊能夠更快的開發(fā)內(nèi)聚的軟件。
(2)沒有持續(xù)集成
項目做模塊集成的時候,發(fā)現(xiàn)很多借口都不通==>浪費大量時間
需要手動去編譯打包最新的代碼==>構(gòu)建過程不透明
發(fā)布代碼,上線,基本靠手工==>腳本亂飛
?
(3)持續(xù)集成最佳實踐:
維護(hù)一個單一的代碼庫
使構(gòu)建自動化
執(zhí)行測試是構(gòu)建的一部分
集成日志及歷史記錄
使用統(tǒng)一的依賴包管理庫
每天至少集成一次
?
(4)jenkins介紹
Jenkins只是一個平臺,真正運作的都是插件。這就是jenkins流行的原因,因為jenkins什么插件都有?
Hudson是Jenkins的前身,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控程序重復(fù)的工作,Hudson后來被收購,成為商業(yè)版。后來創(chuàng)始人又寫了一個jenkins,jenkins在功能上遠(yuǎn)遠(yuǎn)超過hudson
Jenkins官網(wǎng):https://jenkins.io/
Jenkins下載:http://updates.jenkins-ci.org/
?jenkins的全部鏡像:http://mirrors.jenkins-ci.org/status.html
?
(5)部署代碼上線流程:
1.代碼獲取(直接了拉取)
2.編譯?? ? ?(可選)
3.配置文件放進(jìn)去
4.打包
5.scp到目標(biāo)服務(wù)器
6.將目標(biāo)服務(wù)器移除集群
7.解壓并放置到Webroot
8.Scp?差異文件
9.重啟?? ? ?(可選)
10.測試
11.加入集群
?
二、jenkins部署
?1.安裝JDK?
| 1 | [root@7mini-node2 ~]# yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel |
2.安裝jenkins
[root@7mini-node2 contos]# sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo [root@7mini-node2 contos]# sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key[root@7mini-node2 contos]# yum install jenkins
?
| 1 | [root@7mini-node2 contos]# rpm -ivh jenkins-2.32.3-1.1.noarch.rpm |
3.啟動
| 1 2 3 4 5 | [root@7mini-node2 contos]# service jenkins start Starting jenkins (via systemctl): [ OK ] [root@7mini-node2 contos]# netstat -tunlp |grep :8080 tcp6 0 0 :::8080 :::* LISTEN 2259/java |
4 ?輸入初始化密碼
| 1 2 | [root@7mini-node2 contos]# cat /var/lib/jenkins/secrets/initialAdminPassword a93553a4865b45198ae28f77877efe19????#登陸界面有提示輸入密碼,初始密碼文件為/var/lib/jenkins/secrets/initialAdminPassword |
安裝插件完成,設(shè)置用戶名:jenkins,密碼:jenkins
三、jenkins的插件以及配置
jenkins系統(tǒng)管理比較重要的就是插件管理了 ,因為jenkins的工作全部是由插件來完成。
在插件管理中,有可更新、可選插件、已安裝,日常的插件安裝都是在這個界面上完成的。比如為了和gitlab協(xié)同,我們需要安裝gitlab的插件。
?
當(dāng)插件安裝不上的時候,可以直接去網(wǎng)上瞎子啊,進(jìn)行安裝
| 1 2 3 4 5 6 7 | 下載地址 http://updates.jenkins-ci.org/ 解壓備份plugin.tar.gz mv?plugins?/var/lib/jenkins/ chown?-R jenkins.jenkins plugins/ service jenkins restart |
在高級選項中,我們可以在jenkins官網(wǎng)下載插件,然后上傳插件 ,如圖:
因為很多插件需要×××才可以繼續(xù)下載,jenkins還提供了代理的設(shè)置
還是在服務(wù)器目錄下進(jìn)行上傳插件
目錄路徑= /var/lib/jenkins/plugins/
這個目錄下是我們安裝所有的插件
jenkins的目錄介紹:
| 1 2 3 4 5 6 7 8 9 10 | [root@7mini-node2 contos]# rpm -ql jenkins /etc/init.d/jenkins????????????????#jenkins的啟動文件 /etc/logrotate.d/jenkins /etc/sysconfig/jenkins?????????????#jenkins的配置文件(可以寫改默認(rèn)端口) /usr/lib/jenkins?????????????????? /usr/lib/jenkins/jenkins.war???????#jenkins的程序war包 /usr/sbin/rcjenkins????????????????#jenkins的為二進(jìn)制文件 /var/cache/jenkins?????????????????#jenkins的程序文件,運行程序解壓出來的 /var/lib/jenkins???????????????????#jenkins的主目錄 /var/log/jenkins???????????????????#jenkins的日志文件 |
| 1 | jenkins的升級,只需要將war包解壓到/var/lib/jenkins目錄下,重啟jenkins即可。 <br>友情提示: 卡啟動問題 jenkins在第一次安裝啟動時會向官網(wǎng)回傳信息,如果網(wǎng)絡(luò)離線可以正常安裝。<br>當(dāng)網(wǎng)絡(luò)在線,但是 還有可能是內(nèi)存不足 <br>備份: tar?zcvf?jenkins.tar.gz?/var/lib/jenkins,寫一個定時任務(wù)的腳本,保留15天的備份,通過增量備份。 |
在測試環(huán)境中改成root用戶來進(jìn)行配置
| 1 2 3 4 5 6 | vim?/etc/sysconfig/jenkins 將用戶修改為root,可以調(diào)用root工具 ?29 JENKINS_USER="root" 修改啟動端口85行,$JENKINS_PORT service jenkins restart |
系統(tǒng)管理-->系統(tǒng)配置
執(zhí)行者數(shù)量:配置并發(fā)數(shù)量,一般設(shè)置為5,不超過10
用法:如果是主server,可以不選,如果是從級別必須選擇“盡可能的使用這個節(jié)點”
生成前等待時間:配置該時間10s,避免錯誤操作,有時間返回
轉(zhuǎn)載于:https://www.cnblogs.com/dxqNet/p/11279090.html
總結(jié)
以上是生活随笔為你收集整理的linux 搭建jenkins的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 枚举-enum
- 下一篇: linux 其他常用命令