环境介绍: 本文基于第一篇自动代码更新环境,未安装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+jenkins maven自动打包更新

 

2 gitlab+jenkins maven自动打包更新

 

2、添加gitlab上项目地址及验证方式,选择构建的分支。

2 gitlab+jenkins maven自动打包更新

 

 3、选择构建触发器类型,我这里选择当gitlab有更新时进行构建。并在高级里生成 secret token.

2 gitlab+jenkins maven自动打包更新

 

 4、构建的pom文件路径和构建命令参数,以当构建成war成功后,执行相应的自动化更新脚本命令

2 gitlab+jenkins maven自动打包更新

 

 

#!/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
自动化代码更新脚本

相关文章:

  • 2021-11-05
  • 2021-06-19
  • 2022-12-23
  • 2022-12-23
  • 2021-08-25
  • 2017-11-29
猜你喜欢
  • 2021-10-31
  • 2021-05-07
  • 2021-08-19
  • 2021-12-11
  • 2021-04-15
相关资源
相似解决方案