2 gitlab+jenkins maven自動打包更新


環境介紹: 本文基於第一篇自動代碼更新環境,未安裝jenkins gitlab,參考第1篇

jenkins需安裝 Maven Integration plugin 插件

wget http://updates.jenkins-ci.org/download/plugins/maven-plugin/3.4/maven-plugin.hpi

下載后需要在web界面上進行上傳安裝

jenkins配置

1、新建一個maven任務,丟棄舊的構建為7天

 

 

2、添加gitlab上項目地址及驗證方式,選擇構建的分支。

 

 3、選擇構建觸發器類型,我這里選擇當gitlab有更新時進行構建。並在高級里生成 secret token.

 

 4、構建的pom文件路徑和構建命令參數,以當構建成war成功后,執行相應的自動化更新腳本命令

 

 

#!/bin/bash

CODE_DIR="/var/lib/jenkins/workspace/carespay/target/"     #項目目錄
DATE_TIME=`date +%Y-%m-%d-%H-%M-%S`     #時間格式
DIR_NAME=carespay-${DATE_TIME}
TAR_NAME=$DIR_NAME.war        #打包后的名字
WEB_ADDR=192.168.10.227                   #web服務器地址
WEB_DIR="/usr/local/tomcat5/webapps"             #web服務器站點目錄的上一級 "/usr/local/tomcat1/webapps"
WEB_NEWDIR_NAME=web-${DATE_TIME}        #web服務器新建的站點目錄名字

#進入到項目目錄並打包代碼
tarcf_code(){
    cd $CODE_DIR && mv carespay-ms.war /opt/$TAR_NAME
}

#拷貝到web服務器的站點目錄的上一級
scp_code(){
    scp /opt/$TAR_NAME $WEB_ADDR:$WEB_DIR
}

#連接web服務器備份舊版代碼
tarxf_code(){
    ssh $WEB_ADDR "cd $WEB_DIR && mv carespay*  ../back/ "
}

#將新建的站點目錄與html站點目錄做一個軟鏈接
ln_code(){
    ssh $WEB_ADDR "cd $WEB_DIR && rm -rf new && ln -s $DIR_NAME new"
}

#重啟tomcat
reboot(){
    ssh $WEB_ADDR "cd $WEB_DIR && sh reboot.sh && sleep 1m"
}

#刪除舊代碼
del_code(){
    ssh $WEB_ADDR "cd $WEB_DIR && rm -rf $TAR_NAME"
}


main(){
    tarcf_code;
    tarxf_code;
    scp_code;
    reboot;
    ln_code;
}
main
自動化代碼更新腳本
#!bin/bash
#手動重啟tomcat5

tid=$(ps -ef |grep tomcat5 |grep -v grep |awk  '{print $2}')

kill -9 $tid

sh /usr/local/tomcat5/bin/startup.sh

echo `date`  $tid "tomcat5 已重啟" >>../reboot.log
192.168.10.227 tomcat重啟腳本

gitlab設置

1、創建一個真實項目,從git克隆真實代碼過來。

2、項目--設置---集成,添加jenkins項目地址和token成為一個綁定的Webhooks。

 

 3、gitlab上用webide模擬一下更新代碼,查看jenkins構建狀態和10.227tomcat是否構建成功。

 

 

 

 

 

 

 

可以看到成功自動構建,其中還有很多需要優化的地方,如有更好的建議,歡迎大家留言~~~

 

4、如果有報jdbc這類jar包無法下載錯誤,直接拷貝一個jar到相應的目錄,因為這類jar無法自動下載成功

[root@xfg 11.2.0.3]#ls
ojdbc6-11.2.0.3.jar  ojdbc6-11.2.0.3.jar.lastUpdated  ojdbc6-11.2.0.3.pom.lastUpdated
[root@xfg 11.2.0.3]#pwd
/root/.m2/repository/com/oracle/ojdbc6/11.2.0.3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM