1. 程式人生 > >自動化部署之jenkins及簡介

自動化部署之jenkins及簡介

root工具 ini 錯誤 並發數 abcd 輸入密碼 functions targe vim

一、什麽是持續集成?

(1)Continuous integration(CI)

持續集成是一種軟件開發實踐,即團隊開發成員經常集成他們的工作,通常每個成員至少集成一次,也就意味著每天可能會發生多次集成。每次集成都通過自動化的構建(包括編譯,發布,自動化測試)來驗證,從而盡快地發現集成錯誤。許多團隊發現這個過程可以大大減少集成的問題,讓團隊能夠更快的開發內聚的軟件。

技術分享圖片

(2)沒有持續集成

項目做模塊集成的時候,發現很多借口都不通==>浪費大量時間

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

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

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

維護一個單一的代碼庫

使構建自動化

執行測試是構建的一部分

集成日誌及歷史記錄

使用統一的依賴包管理庫

每天至少集成一次

(4)jenkins介紹

Jenkins只是一個平臺,真正運作的都是插件。這就是jenkins流行的原因,因為jenkins什麽插件都有
Hudson是Jenkins的前身,是基於Java開發的一種持續集成工具,用於監控程序重復的工作,Hudson後來被收購,成為商業版。後來創始人又寫了一個jenkins,jenkins在功能上遠遠超過hudson

Jenkins官網:https://jenkins.io/

Jenkins下載:http://updates.jenkins-ci.org/

jenkins的全部鏡像:http://mirrors.jenkins-ci.org/status.html

(5)部署代碼上線流程:

1.代碼獲取(直接了拉取)

2.編譯 (可選)

3.配置文件放進去

4.打包

5.scp到目標服務器

6.將目標服務器移除集群

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

?
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

 技術分享圖片

技術分享圖片

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

技術分享圖片

三、jenkins的插件以及配置

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

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

當插件安裝不上的時候,可以直接去網上瞎子啊,進行安裝

?
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官網下載插件,然後上傳插件 ,如圖:

技術分享圖片

因為很多插件需要×××才可以繼續下載,jenkins還提供了代理的設置
還是在服務器目錄下進行上傳插件
目錄路徑= /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的配置文件(可以寫改默認端口) /usr/lib/jenkins /usr/lib/jenkins/jenkins.war #jenkins的程序war包 /usr/sbin/rcjenkins #jenkins的為二進制文件 /var/cache/jenkins #jenkins的程序文件,運行程序解壓出來的 /var/lib/jenkins #jenkins的主目錄 /var/log/jenkins #jenkins的日誌文件
1 jenkins的升級,只需要將war包解壓到/var/lib/jenkins目錄下,重啟jenkins即可。 <br>友情提示: 卡啟動問題 jenkins在第一次安裝啟動時會向官網回傳信息,如果網絡離線可以正常安裝。<br>當網絡在線,但是 還有可能是內存不足 <br>備份: tar zcvf jenkins.tar.gz /var/lib/jenkins,寫一個定時任務的腳本,保留15天的備份,通過增量備份。

在測試環境中改成root用戶來進行配置

?
1 2 3 4 5 6 vim /etc/sysconfig/jenkins 將用戶修改為root,可以調用root工具 29 JENKINS_USER="root" 修改啟動端口85行,$JENKINS_PORT service jenkins restart

  

系統管理-->系統配置

執行者數量:配置並發數量,一般設置為5,不超過10

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

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

技術分享圖片

自動化部署之jenkins及簡介