jenkins部署教程可查看上一篇文档
jenkins部署指定任意版本和配置详细教程 jenkins 2.361版本示例_争取不加班!的博客-CSDN博客
Jenkins服务器去拉取代码,所以要下载git客户端
yum -y install git jenkins服务器下载
下面就是构建发布任务测试可以性
测试使用github上开源的一个小项目https://github.com/bingyue/easy-springmvc-maven
填写完url后如果有报错Failed to connect to repository : Error performing git command: git ls-remote -h https://github.com/bingyue/easy-springmvc-maven HEAD
那么就是jenkins服务器上没有安装git服务的原因
配置好后端服务器在配置调用maven命令
以上构建项目配置基本配置完成了就,然后来到后端服务器配置一下构建之后的脚本,注意测试的话后端服务器还需要配置jdk和tomcat。
后端服务器操作192.168.197.136
下载tomcat
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.5/bin/apache-tomcat-10.1.5.tar.gz --no-check-certificate
tar -xvzf apache-tomcat-10.1.5.tar.gz
mv apache-tomcat-10.1.5 /data/tomcat
下载jdk或者自己上传包 https://www.oracle.com/java/technologies/downloads/
wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz
tar -xvzf openjdk-11+28_linux-x64_bin.tar.gz
mv jdk-11/ /data/java
配置环境变量: vim /etc/profile
export JAVA_HOME=/data/java
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export TOMCAT_HOME=/data/tomcat
source /etc/profile
java -version 看下版本号是否配置成功
注意我这里使用的是tom用户,在配置的时候如果不是用的root用户注意操作目录的权限
配置构建项目后执行的脚本
脚本配置不易望各位大佬点点收藏、点赞、和关注
vim /data/jenkins.sh
chmod + x /data/jenkins.sh
#!/bin/bash
#本脚本适用于jenkins持续集成,实现备份war包到代码更新上线!使用时请注意全局变量。
export JAVA_HOME=/data/java
webapp_path="/data/tomcat/webapps"
tomcat_run="/data/tomcat/bin"
updata_path="/data/update/`date +%F-%T`"
backup_path="/data/backup/`date +%F-%T`"
tomcat_pid=`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`
files_dir="easy-springmvc-maven"
files="easy-springmvc-maven.war"
job_path="/home/tom/upload"
#Preparation environment
echo "Creating related directory"
mkdir -p $updata_path
mkdir -p $backup_path
echo "Move the uploaded war package to the update directory"
mv $job_path/$files $updata_path
echo "========================================================="
cd /opt
echo "Backing up java project"
if [ -f $webapp_path/$files ];then
tar czf $backup_path/`date +%F-%H`.tar.gz $webapp_path
if [ $? -ne 0 ];then
echo "打包失败,自动退出"
exit 1
else
echo "Checking if tomcat is started"
if [ -n "$tomcat_pid" ];then
kill -9 $tomcat_pid
if [ $? -ne 0 ];then
echo "tomcat关闭失败,将会自动退出"
exit 2
fi
fi
cd $webapp_path
rm -rf $files && rm -rf $files_dir
cp $updata_path/$files $webapp_path
cd /opt
$tomcat_run/startup.sh
sleep 5
echo "显示tomcat的pid"
echo "`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`"
echo "tomcat startup"
echo "请手动查看tomcat日志。脚本将会自动退出"
fi
else
echo "Checking if tomcat is started"
if [ -n "$tomcat_pid" ];then
kill -9 $tomcat_pid
if [ $? -ne 0 ];then
echo "tomcat关闭失败,将会自动退出"
exit 2
fi
fi
cp $updata_path/$files $webapp_path
$tomcat_run/startup.sh
sleep 5
echo "显示tomcat的pid"
echo "`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`"
echo "tomcat startup"
echo "请手动查看tomcat日志。脚本将会自动退出"
fi
配置好脚本后来到jenkins构建项目
ls /data/tomcat/webapps/ 查看tomcat发布目录已经生成新的内容
ls /data/backup/ 查看备份路径也生成了以时间命名的目录