Jenkins的安裝和使用(Centos7)
一、安裝Jenkins
1、可以自己裝一個tomcat或其他伺服器,並且下載Jenkins.war的包,直接安裝啟動普通專案的方式配置。
2、下載jenkins的安裝包Jenkins各版本的rpm安裝包,並且匯入Centos中:
安裝比較簡單,下面是一些簡單的管理命令:
sudo service jenkins start | stop | restart | status
3、使用repo方式安裝
// 安裝最新版本的Jenkins
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key sudo yum install jenkins
下面是Jenkins的啟動和關閉等命令:
sudo service jenkins start | stop | restart
sudo chkconfig jenkins on
安裝完成後:
/usr/lib/jenkins/jenkens.war // Jenkins專案
二、Jenkins配置
1、Jenkins Overview
在構建Jenkins之前我們需要知道Jenkins是什麼東西,能幫助我們做什麼。才能更好的理解需要怎麼樣進行配置。Jenkins使用本地配置的git client端將遠端GitLab上的程式碼下載到Jenkins伺服器(即程式碼倉庫拉取程式碼,可以是GitLab、可以是svn server端),並使用maven將專案進行打包,中途可以新增各種步驟,最後利用shell指令碼等方式將專案包傳送到遠端的tomcat的專案目錄(Tomcat有多種配置方式),並停止tomcat,更換專案包(包括:清除原專案包,copy現有專案包並進行解壓),啟動tomcat(這裡tomcat是伺服器,可以使用jetty等代替)。
1、Continuous Intergration 持續整合 :可以將整個整合專案的看成一個生命週期,按照組合外掛的方式整合
2、Continuous Delivery 持續交付:持續交付專案給測試人員(測試環境)、使用者(生成環境)等
2、外掛安裝
一般若使用Jenkins安裝在Centos下,在安裝的時候基本的外掛就已經安裝了,但是很多使用我們使用GitLab對專案進行管理,則需要安裝GitLab Hook 的外掛。有上圖可知道,我們需要使用git的客戶端,去GitLab上拉取程式碼,則需要在Jenkins本機安裝git,並且將git的地址告訴Jenkins:
sudo yum install git // Centos7下安裝的git地址為 而windows下的則為git安裝目錄下的git.exe檔案地址
3、系統配置
位於系統管理》全域性工具配置下對jdk、maven setting、maven、ant、git(客戶端)、gradle、Docker等的配置,使用yum install 方式安裝Java所以不需要配置,所以需要設定Maven Setting、git 和maven:
1)、git
使用Centos7下使用git的安裝地址為 /usr/bin/git :
2)、maven
三、構建專案
構建一個專案就是一個上圖的流程,每個流程可以看成是一個管道(Pipeline),如下:
1、General(備註一下)
2、Advanced Project Options
設定一些專案構建的配置資訊,如重試次數等:
3、配置專案的倉庫
專案的程式碼管理倉庫,可以是GitLab、GitLub、SVN server等,一般使用GitLab。需要填寫git的地址(直接去GitLab上進行copy)和認證方式,但是Jenkins上不能使用賬號密碼的方式進行連結GitLab(可能出於安全考慮),需要使用SSH Username with private key方式,否則會報錯如下:
可以選擇其他方式,一般使用祕鑰方式連結,如圖:
4、Build Triggers(構建觸發器)
一般情況下是我們提交了程式碼(或者merge操作)後,自己手動觸發構建專案,即手動進行部署。但是很多時候我們可以設定其他的觸發方式:如下面的輪訓,定時,指令碼、使用比較多的是當我們提交程式碼(push操作)或者將分支合併(merge)到主幹的時間進行觸發,如下:
所以主要關係GitLab提交程式碼後的告知Jenkens的鉤子(Hook)地址,如下:
5、配置矩陣和構建環境(先不關注)
6、構建
之前版本中有Post-build Actions直接設定路徑和賬號密碼(若tomcat中使用使用者配置)等即可釋出:
現在需要使用windows Batch指令碼或者linux shell指令碼進行釋出:
7、構建後的操作步驟
構建後的操作步驟使用較多的就是傳送郵件等。