一、什麼是持續集成?
(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.加入集羣
----------------在Redhat上安裝非常簡單,原文摘錄如下:-----------------------------------------------------------------------------------
RedHat Linux RPM packages for Jenkins
To use this repository, run the following command:
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
If you've previously imported the key from Jenkins, the "rpm --import" will fail because you already have a key. Please ignore that and move on.
You will need to explicitly install a Java runtime environment, because Oracle's Java RPMs are incorrect and fail to register as providing a java dependency. Thus, adding an explicit dependency requirement on Java would force installation of the OpenJDK JVM.
- 2.164 (2019-02) and newer: Java 8 or Java 11
- 2.54 (2017-04) and newer: Java 8
- 1.612 (2015-05) and newer: Java 7
With that set up, the Jenkins package can be installed with:
yum install jenkins
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
二、jenkins部署
1.安裝JDK
1 |
|
2.安裝jenkins
1 |
|
3.啓動
1 2 3 4 5 |
|
4 輸入初始化密碼
1 2 |
|
安裝插件完成,設置用戶名:jenkins,密碼:jenkins
三、jenkins的插件以及配置
jenkins系統管理比較重要的就是插件管理
了 ,因爲jenkins的工作全部是由插件來完成。
在插件管理中,有可更新、可選插件、已安裝,日常的插件安裝都是在這個界面上完成的。比如爲了和gitlab協同,我們需要安裝gitlab的插件。
當插件安裝不上的時候,可以直接去網上瞎子啊,進行安裝
1 2 3 4 5 6 7 |
|
在高級選項中,我們可以在jenkins官網下載插件,然後上傳插件 ,如圖:
因爲很多插件需要×××纔可以繼續下載,jenkins還提供了代理的設置
還是在服務器目錄下進行上傳插件
目錄路徑= /var/lib/jenkins/plugins/
這個目錄下是我們安裝所有的插件
jenkins的目錄介紹:
1 2 3 4 5 6 7 8 9 10 |
|
1 |
|
在測試環境中改成root用戶來進行配置
1 2 3 4 5 6 |
|
系統管理-->系統配置
執行者數量:配置併發數量,一般設置爲5,不超過10
用法:如果是主server,可以不選,如果是從級別必須選擇“儘可能的使用這個節點”
生成前等待時間:配置該時間10s,避免錯誤操作,有時間返回