1. 程式人生 > >Jenkins的安裝和使用(Centos7)

Jenkins的安裝和使用(Centos7)

一、安裝Jenkins

    1、可以自己裝一個tomcat或其他伺服器,並且下載Jenkins.war的包,直接安裝啟動普通專案的方式配置。

    2、下載jenkins的安裝包Jenkins各版本的rpm安裝包,並且匯入Centos中:

    安裝比較簡單,下面是一些簡單的管理命令:

    sudo service jenkins start | stop | restart | status

    3、使用repo方式安裝

// 安裝最新版本的Jenkinssudo 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等代替)。 

總體來說就是Jenkins的兩大特點:

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、構建後的操作步驟

    構建後的操作步驟使用較多的就是傳送郵件等。