1. 程式人生 > >Java之持續化整合

Java之持續化整合

Jenkins 主要用於公司持續整合環境的搭建。起到自動構建、自動編譯、自動化測試一體龍的功能,它提供了數百個外掛支援建設,測試,部署和幾乎任何專案自動化。

下面從幾個方面來配置 Jenkins ,實現自動化整合環境

一、啟動Jenkins

從官網下載下來的 jenkins.war包直接放在 tomcat/webapps/ 下面直接執行即可,如果你需要改變 jenkins 主目錄 :/root/.jenkins,那麼在 tomcat配置檔 catalina.sh 中加入以下行即可:

# JENKINS HOME DIRECTORY
export JENKINS_HOME="/data/jenkins_home/gougeili"
  • 1
  • 2

之後執行 bin/catalina.sh start 啟動 jenkins,上面的域名是我手動指定的。當然,你也可以通過ip及port進行訪問

這裡寫圖片描述

二、配置全域性安全 (configure global security)

點選系統管理,選擇 configure global security

這裡寫圖片描述

在全域性安全中,對以下選項進行打勾 
1、啟用安全 
2、Jenkins 專有使用者資料庫(不允許使用者註冊,需要admin自行建立) 
3、專案矩陣授權策略(根據不同使用者分配不同許可權) 
4、Use browser for metadata download

這裡寫圖片描述

這裡寫圖片描述

當你選擇應用之後,Jenkins 會要你建立一個賬戶,並且這個賬戶是管理員(擁有所有 permission )

這裡寫圖片描述

三、外掛管理

jenkins 外掛主要是提供特殊的功能,根據不同的需求我們可以安裝不同的外掛。選擇系統管理,繼續外掛管理

這裡寫圖片描述

在該頁面中選擇所需的外掛,進行安裝

可更新(選擇所需更新的外掛)
可選外掛(選擇所需安裝的外掛)
已安裝(檢視已經安裝的外掛)
高階(設定代理及上傳外掛)
  • 1
  • 2
  • 3
  • 4

這裡寫圖片描述

找出所需安裝的外掛,進行安裝(就好比說我所選擇的外掛,它主要是用來編輯檢視的,根據不同的專案進行分類)

這裡寫圖片描述

ps:安裝過程中 gitlab-plugin 外掛並沒有安裝成功,所以我手動進行下載,並上傳(下載地址在失敗-詳細裡面檢視)

這裡寫圖片描述

這裡寫圖片描述

經過一段時間的安裝,可以看到我已經成功 install了 一些外掛,當然也有一些提示,類似於準備之前並沒有翻牆連線到 Google;或是外掛已經安裝完成,重啟生效。

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

四、系統設定

1、點選系統管理,接著點選系統設定

這裡寫圖片描述

2、可以看到,jenkins 主目錄在 /data/jenkins_home/gougeili,第二個箭頭標識的執行者數量代表 jenkins 最大支援幾個任務同時執行。

這裡寫圖片描述

3、SSH遠端主機設定,這邊呢,主要是新增SSH目標主機,便於在Jenkins執行任務前或後呼叫遠端指令碼進行操作

這裡寫圖片描述

4、JDK 設定

這裡寫圖片描述

5、Git 設定

這裡寫圖片描述

6、Maven 安裝及配置(由於我這邊專案都是通過依賴Maven,pom.xml 進而打包釋出的,所以這邊增加maven配置)

這裡寫圖片描述

這裡寫圖片描述

7、Gitlab Web Hook 設定

這裡寫圖片描述

8、HTML5 Notification Configuration

這裡寫圖片描述

9、Subversion 版本配置。 1.8

這裡寫圖片描述

10、Jenkins url 及 mail 設定

這裡寫圖片描述

11、Mail 通知設定 
這裡寫圖片描述

五、新建一個專案

在主頁面選擇新建,輸入專案名稱,新建一個Maven專案。構建主要是通過pom.xml檔案的配置進行的。

這裡寫圖片描述

選擇丟棄舊的構建為15天(保持最近15天內的構建專案),以及啟用專案安全(哪些人有哪些許可權可以做哪些事),在安全中我只添加了自己的許可權。

這裡寫圖片描述

在原始碼管理頁面中,我選擇了subversion,並且填入svn地址。手動通過驗證後,jenkins會自己把驗證資訊儲存起來。

這裡寫圖片描述

構建選項設定,當然,這些設定是開發留給運維的,引數具體的意義是跟程式掛鉤。 
第二個箭頭則勾選 Run only if build succeeds,代表只有在構建成功後才會執行下面的資訊(Add post-build Sep) 。在執行前也可以執行指令碼啊,之類的東西 不過意義不大,一般只有專案成功構建後運維才會涉及操作。

這裡寫圖片描述

最後設定該專案的 Mail 地址,則專案建立完成。

這裡寫圖片描述

六、構建一個專案

點選剛才新建的專案,選擇立即構建,構建時間視情況而定,第二張圖中可以看到專案構建成功。

這裡寫圖片描述

這裡寫圖片描述

PS:在最後要提到一點,jenkins只是一個用來構建打包的工具,至於持續化整合的實現,可以根據不同的外掛進而新增不同的功能。像我公司就是通過jenkins打包;完成之後用shell指令碼進而分發,實現自動化整合的目的。

Jenkins 常用外掛

AnsiColor
Ant Plugin
Checkstyle Plug-in
Credentials Plugin
CVS Plug-in
Dashboard View
External Monitor Job Type Plugin
Git client plugin
Git plugin
Gitlab Hook Plugin
GitLab Logo Plugin  
GitLab Plugin
Git Parameter Plug-In
Extended Choice Parameter Plug-In
Dynamic Extended Choice Parameter Plug-In
HTML5 Notifier Plugin
Hudson MySQL Plugin
Javadoc Plugin
JIRA plugin
jQuery plugin
JUnit Plugin
LDAP Plugin
Mailer Plugin
MapDB API Plugin
Matrix Authorization Strategy Plugin
Matrix Project Plugin
Maven Integration plugin
Modern Status
Notification plugin
OWASP Markup Formatter Plugin
PAM Authentication plugin
Pipeline: Step API
Plain Credentials Plugin
Publish Over SSH
ruby-runtime
SCM API Plugin
Script Security Plugin
Simple Theme Plugin
SSH Credentials Plugin
SSH plugin
SSH Slaves plugin
Static Analysis Utilities
Status View Plugin
Structs Plugin
Subversion Plug-in
Translation Assistance plugin
Readonly Parameter plugin
Poll SCM plugin
Description Column Plugin
GitHub API Plugin
GitHub plugin
Pre SCM BuildStep Plugin
Resource Disposer Plugin
Role-based Authorization Strategy


Build-timeout Plugin可以讓長時間執行的job自動停止。防止無止境執行下,其他job無法執行。
Discard Old Build plugin 刪除歷史build,節約硬碟空間。
Workspace Cleanup Plugin 與上面類似,但刪除的是workspace。
Email-ext plugin自動郵件提醒,比原始更牛逼。
Rebuild Plugin快速重新構建job,自動輸入之前的引數。
Timestamper Jenkins log輸出帶上時間戳,更方便定位問題發生的時間。
  • 宣告:轉載自 https://blog.csdn.net/wanglei_storage/article/details/50888558