安裝、配置jenkins(CentOS 7 64位)-發佈基於Maven+github+jenkins的自動構建項目

1.安裝jenkins(準備java環境,必須jdk8及以上)

下載JDK 1.8,上傳到centos7系統上html

http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz?AuthParam=1538988644_c7f213461e0c9f00c91a6a550db5f831

解壓:tar -zxvf jdk-8u181-linux-x64.tar.gzjava

另存:linux

  mkdir /usr/local/jdk/git

  mv jdk1.8.0_181/* /usr/local/jdk/github

配置環境變量:docker

  vi /etc/profileshell

    JAVA_HOME=/usr/local/jdkapache

    JRE_HOME=$JAVA_HOME/jreubuntu

    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binvim

    CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar

    export JAVA_HOME JRE_HOME PATH CLASSPATH

從新加載環境配置:source /etc/profile


下載jenkins:wget http://mirrors.jenkins.io/war/latest/jenkins.war

後臺啓動: nohup java -jar jenkins.war --ajp13Port=-1 --httpPort=9999 >temp.txt &

jenkins的docker鏡像製做:請見碼雲 建立jenkins的docker鏡像

2. 環境準備

git安裝:

  下載安裝包:wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz

  依賴包(centos):yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

  依賴包(ubuntu): apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev

            apt-get -y install gcc automake autoconf libtool make

  解壓:tar -zxvf git-2.9.5.tar.gz

  進入解壓包:cd git-2.9.5

  編譯:make prefix=/usr/local/git all

  安裝:make prefix=/usr/local/git install

maven安裝:

  下載安裝包:wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

  解壓:tar -zxvf apache-maven-3.3.9-bin.tar.gz

  移到指定目錄:mv apache-maven-3.3.9 /usr/local/maven

  配置環境變量:vim /etc/profile

    M2_HOME=/usr/local/maven

    export PATH=${M2_HOME}/bin:${PATH}

  從新加載環境配置:source /etc/profile

3.啓動、配置

輸入提示路徑下的密碼,安裝默認的插件,設置管理員用戶,肯定jenkins根路徑

【系統管理】->【全局工具配置】:

    

    

    

    

 【系統管理】->【插件管理】:

  【Safe Restart Plugin】  //重啓jenkins系統

  【Email Extension Plugin】  //因爲Jenkins自帶的郵件功能比較雞肋,所以推薦安裝專門的郵件插件

  【maven integration plugin】  //該插件安裝了,才能建立maven項目

  【git plugin】  //從遠程拉取代碼

  【publish over ssh】  //ssh遠程登陸

  【SSH Plugin】  //SSH登陸到一個遠程服務器以執行必要的腳本

【系統管理】->【全局安全配置】:

  

  

【系統管理】->【系統設置】:

  【SSH remote hosts】:

  

  【郵件設置】:

    

  【Publish over SSH】:

    

     

  

4.建立構建任務

【新建任務】:

  任務名稱->構建maven任務->確認

  

5.手動觸發構建

【jenkins主頁面】->【相應的構建任務】->【當即構建】

  

注:防火牆的shell命令:

  firewall-cmd --zone=public --add-port=80/tcp --permanent  (--permanent永久生效,沒有此參數重啓後失效)

  firewall-cmd --reload  從新載入

  firewall-cmd --zone=public --remove-port=80/tcp --permanent  刪除

  firewall-cmd --zone=public --query-port=80/tcp  查看

  firewall-cmd --state  查看firewall是否運行

  firewall-cmd --list-services  查看當前開了哪些端口

  firewall-cmd --get-services  查看還有哪些服務能夠打開

  firewall-cmd --zone=public --list-ports  查看全部打開的端口

郵箱內容模版(Default Content):

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次構建日誌</title> </head> <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0"> <table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif"> <tr> 本郵件由系統自動發出,無需回覆!<br/> 各位同事,你們好,如下爲${PROJECT_NAME }項目構建信息</br> <td><font color="#CC0000">構建結果 - ${BUILD_STATUS}</font></td> </tr> <tr> <td><br /> <b><font color="#0B610B">構建信息</font></b> <hr size="2" width="100%" align="center" /></td> </tr> <tr> <td> <ul> <li>項目名稱 : ${PROJECT_NAME}</li> <li>構建編號 : 第${BUILD_NUMBER}次構建</li> <li>觸發緣由: ${CAUSE}</li> <li>構建狀態: ${BUILD_STATUS}</li> <li>構建日誌: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li> <li>構建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li> <li>工做目錄 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li> <li>項目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li> </ul> <h4><font color="#0B610B">失敗用例</font></h4> <hr size="2" width="100%" /> $FAILED_TESTS<br/> <h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4> <hr size="2" width="100%" /> <ul> ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"} </ul> 詳細提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/> </td> </tr> </table> </body> </html> 

配置模塊友情連接:

docker+github+jenkins+maven自動化部署----郵件配置
docker+github+jenkins+maven自動化部署----提交代碼到github時自動觸發構建任務配置
docker+github+jenkins+maven自動化部署----代碼檢查和覆蓋率檢查SonarQube+JaCoCo+Jenkins+Maven配置

****Build a Java app with Maven**** 

相關文章
相關標籤/搜索