日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Gitlab+Jenkins学习之路(六)之Jenkins部署、升级和备份

發(fā)布時間:2025/4/9 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Gitlab+Jenkins学习之路(六)之Jenkins部署、升级和备份 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 一、什么是持續(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)很多借口都不通==>浪費(fèi)大量時間

需要手動去編譯打包最新的代碼==>構(gòu)建過程不透明

發(fā)布代碼,上線,基本靠手工==>腳本亂飛

?

(3)持續(xù)集成最佳實踐:

維護(hù)一個單一的代碼庫

使構(gòu)建自動化

執(zhí)行測試是構(gòu)建的一部分

集成日志及歷史記錄

使用統(tǒng)一的依賴包管理庫

每天至少集成一次

?

(4)jenkins介紹

Jenkins只是一個平臺,真正運(yùn)作的都是插件。這就是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/

?

(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 [root@linux-node2 ~]# yum instsall -y java-1.8.0-openjdk java-1.8.0-openjdk-devel(2)下載jenkins的rpm包 [root@linux-node2 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.32.3-1.1.noarch.rpm --2017-12-21 09:11:58-- https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.32.3-1.1.noarch.rpm 正在解析主機(jī) mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.6.178, 2402:f000:1:416:101:6:6:177 正在連接 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.6.178|:443... 已連接。 已發(fā)出 HTTP 請求,正在等待回應(yīng)... 200 OK 長度:69675984 (66M) [application/x-redhat-package-manager] 正在保存至: “jenkins-2.32.3-1.1.noarch.rpm”(3)安裝jenkins [root@linux-node2 ~]# rpm -ivh jenkins-2.32.3-1.1.noarch.rpm 警告:jenkins-2.32.3-1.1.noarch.rpm: 頭V4 DSA/SHA1 Signature, 密鑰 ID d50582e6: NOKEY 準(zhǔn)備中... ################################# [100%] 正在升級/安裝...1:jenkins-2.32.3-1.1 ################################# [100%](4)啟動jenkins [root@linux-node2 ~]# service jenkins start Starting jenkins (via systemctl): [ 確定 ][root@linux-node2 ~]# netstat -tulnp|grep 8080 tcp6 0 0 :::8080 :::* LISTEN 42160/java 瀏覽器訪問:192.168.56.12:8080:如圖 [root@linux-node2 ~]# cat /var/lib/jenkins/secrets/initialAdminPassword 8addd06f53f6405da6133356af1ca3b0 #登陸界面有提示輸入密碼,初始密碼文件為/var/lib/jenkins/secrets/initialAdminPassword友情提示:jenkins如果跟gitlab在一臺服務(wù)器需要將jenkins的端口進(jìn)行修改,需要將jenkins的8080修改為其他端口

安裝所有插件:

安裝插件完成,設(shè)置用戶名:jenkins,密碼:jenkins

  • 三、jenkins的插件以及配置

Jenkins系統(tǒng)管理比較重要的就是插件管理了 ,因為jenkins的工作全部是由插件來完成。

在插件管理中,有可更新、可選插件、已安裝,日常的插件安裝都是在這個界面上完成的。比如為了和gitlab協(xié)同,我們需要安裝gitlab的插件。

在高級選項中,我們可以在jenkins官網(wǎng)下載插件,然后上傳插件 ,如圖:

?

因為很多插件需要×××才可以繼續(xù)下載,jenkins還提供了代理的設(shè)置


還是在服務(wù)器目錄下進(jìn)行上傳插件

目錄路徑= /var/lib/jenkins/plugins/

這個目錄下是我們安裝所有的插件

jenkins的目錄介紹:

[root@linux-node2 ~]# rpm -ql jenkins /etc/init.d/jenkins #jenkins的啟動文件 /etc/logrotate.d/jenkins /etc/sysconfig/jenkins #jenkins的配置文件 /usr/lib/jenkins /usr/lib/jenkins/jenkins.war #jenkins的程序war包 /usr/sbin/rcjenkins #jenkins的為二進(jìn)制文件 /var/cache/jenkins #jenkins的程序文件,運(yùn)行程序解壓出來的 /var/lib/jenkins #jenkins的主目錄 /var/log/jenkins #jenkins的日志文件jenkins的升級,只需要將war包解壓到/var/lib/jenkins目錄下,重啟jenkins即可。友情提示: 卡啟動問題 jenkins在第一次安裝啟動時會向官網(wǎng)回傳信息,如果網(wǎng)絡(luò)離線可以正常安裝。當(dāng)網(wǎng)絡(luò)在線,但是 還有可能是內(nèi)存不足備份: tar zcvf jenkins.tar.gz /var/lib/jenkins

系統(tǒng)管理-->系統(tǒng)配置

執(zhí)行者數(shù)量:配置并發(fā)數(shù)量,一般設(shè)置為5,不超過10

用法:如果是主server,可以不選,如果是從級別必須選擇“盡可能的使用這個節(jié)點”

生成前等待時間:配置該時間,避免錯誤操作,有時間返回

  • 三、jenkins升級

?

1)查看war包所在的目錄 [root@linux-node2 ~]# rpm -ql jenkins /etc/init.d/jenkins /etc/logrotate.d/jenkins /etc/sysconfig/jenkins /usr/lib/jenkins /usr/lib/jenkins/jenkins.war /usr/sbin/rcjenkins /var/cache/jenkins /var/lib/jenkins /var/log/jenkins(2)下載最新穩(wěn)定版的war包 [root@linux-node2 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.46/jenkins.war --2017-12-21 14:56:10-- https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.46/jenkins.war Resolving mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.6.178, 2402:f000:1:416:101:6:6:177 Connecting to mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.6.178|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 68663046 (65M) [application/java-archive] Saving to: ‘jenkins.war’36% [====================================================> ] 24,829,614 707KB/s eta 60s

當(dāng)前jenkins版本為2.32.2

3)停止jenkins服務(wù) [root@linux-node2 ~]# service jenkins stop Stopping jenkins (via systemctl): [ OK ](4)備份原來的war包,并拷貝最新版本war包到/usr/lib/jenkins目錄下 [root@linux-node2 ~]# cd /usr/lib/jenkins/ [root@linux-node2 jenkins]# mv jenkins.war jenkins-2.32.2.war.bak [root@linux-node2 jenkins]# mv /root/jenkins.war . [root@linux-node2 jenkins]# service jenkins start Starting jenkins (via systemctl): [ OK ] [root@linux-node2 jenkins]# netstat -tulnp |grep 8080 tcp6 0 0 :::8080 :::* LISTEN 47298/java 成功升級到j(luò)enkins 2.46版本

  • 四、jenkins備份

在jenkins界面創(chuàng)建一些項目,這里使用rsync,主要是為了保持備份的屬性,如果使用scp或cp有時會導(dǎo)致文件屬性的改變而導(dǎo)致jenkins異常。

1)創(chuàng)建備份目錄 [root@linux-node2 ~]# mkdir /data/backup/jenkins -p(2)備份/var/lib/jenkins目錄 [root@linux-node2 ~]# rsync -raz --delete --progress /var/lib/jenkins /data/backup/jenkins/3)刪除/var/lib/jenkins/ [root@linux-node2 ~]# rm -rf /var/lib/jenkins/[root@linux-node2 ~]# service jenkins restart Restarting jenkins (via systemctl): Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.[FAILED] [root@linux-node2 ~]# service jenkins status JENKINS_HOME directory does not exist: /var/lib/jenkins(4)恢復(fù)備份 [root@linux-node2 ~]# rsync -raz --delete /data/backup/jenkins/jenkins /var/lib/ [root@linux-node2 ~]# service jenkins restart Restarting jenkins (via systemctl): [ OK ]

?

轉(zhuǎn)載于:https://www.cnblogs.com/linuxk/p/9453638.html

總結(jié)

以上是生活随笔為你收集整理的Gitlab+Jenkins学习之路(六)之Jenkins部署、升级和备份的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。