Linux Jenkins持续集成(jenkins+gitLab+maven+springboot+j2ee war包)
阅读原文时间:2021年04月20日阅读:1
  1. 解压jenkins.war到指定tomcat发布目录webapps下,启动tomcat

       通过浏览器访问 http://116.196.117.183:8085/jenkins/

     

cat /root/.jenkins/secrets/initialAdminPassword

输入密码后安装推荐插件

2.下载maven apache-maven-3.5.3插件解压到指定目录 /wjw/maven

配置maven 环境变量vim /ect/profile

export MAVEN_HOME=/wjw/maven/apache-maven-3.5.3

export PATH=$MAVEN_HOME/bin:$PATH

使配置文件生效

source /ect/profile

3.管理界面配置maven

系统管理-全局工具配置

配置JDK

配置git

查看git目录 whereis git 或者command -v git

插件安装

安装gitLab插件,如果需要进行分支部署需要安装Git Parameter Plug-In) 插件

如果支持多jdk,安装JDK Parameter Plugin

支持push到另外一台服务器部署代码,安装Publish Over SSHSSH Slaves

4.拉取gitLab上的代码部署springboot jar

4.1新建任务 构建一个maven任务

源码管理说明,认证用户为gitlab上的用户,如果没有项目访问权限会报错,branch默认master

springboot jar包部署脚本

cd /opt/shell/foc
echo "Execute shell Start"
sh stop.sh
sh replace.sh
echo "Execute shell Finish"
chmod 777 /opt/shell/foc/startup.sh
BUILD_ID=dontKillMe nohup /opt/shell/foc/startup.sh &

stop.sh 脚本编写

cd /opt/shell/foc
echo "停止藏航FOC数据同步程序"
ls
pid=`ps -ef | grep TVFoc.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
#!kill -9 强制终止
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi

replace.sh脚本

jar_name=TVFoc.jar
#!编译好的jar包存放地址
file_path=~/.jenkins/workspace/foc/target/
#!将现有的jar备份后,将新的jar包替换
file="/opt/deploy/foc/TVFoc.jar"
if [ -f "$file" ]
then
mv /opt/deploy/foc/TVFoc.jar  /opt/deploy_backup/foc/TVFoc.jar
fi
cp ~/.jenkins/workspace/foc/target/TVFoc.jar  /opt/deploy/foc

startup.sh脚本

echo "授予当前用户权限"
chmod 777 /opt/deploy/foc/TVFoc.jar
echo "执行FOC数据同步程序"
cd  /opt/deploy/foc
/home/software/jdk1.8.0_181/bin/java -jar TVFoc.jar
echo "**********************藏航FOC数据同步程序启动*************************"

5.部署war项目到指定tomcat

部署脚本

echo ‘尝试关闭测试项目tomcat…’ 
sh /opt/test_tvpsiServer/apache-tomcat-7.0.88/bin/shutdown.sh;
ls
tom_pid=`ps -ef | grep apache-tomcat-7.0.88 | grep -v grep | awk '{print $2}'`
if [ -n "$tom_pid" ];
then
echo “tomcat 关闭失败,将强制结束进程:” $tom_pid 
kill -9 $tom_pid;
fi
echo “tomcat8083 进程结束” 
echo “清空weapps目录并复制新war包…” 
rm -rf /opt/test_tvpsiServer/apache-tomcat-7.0.88/webapps/*
cp ~/.jenkins/workspace/test_tvpsi_8083/target/tvpsi.war   /opt/test_tvpsiServer/apache-tomcat-7.0.88/webapps/;
echo “重新启动tomcat8083…”
BUILD_ID=dontKillMe
sh /opt/test_tvpsiServer/apache-tomcat-7.0.88/bin/startup.sh