jenkins自动部署

参考https://blog.csdn.net/achenyuan/article/details/75305172

 

jekins和tomcate在同一个环境

 

cp /root/.jenkins/workspace/mavnentest/target/*.war  /home/newwar
 
PROJECT_NAME=testmaven
TOMCAT_VERSION=tomcate
TOMCAT_HOME="/home/"$TOMCAT_VERSION""
echo "backup"
cp  "$TOMCAT_HOME"/webapps/"$PROJECT_NAME".war  /home/oldwar/"$PROJECT_NAME"_`date +%Y%m%d%H%M`.war
 
#检查一下,删除5天前的war包文件,
find /home/oldwar -mtime +10 -type f -name *.war -exec rm -rf {} \;
 
echo "over"
cp  /home/newwar/"$PROJECT_NAME".war "$TOMCAT_HOME"/webapps/  
 
 
ps -ef |grep "$TOMCAT_VERSION" | grep -v grep |awk '{print $2}'|xargs kill -9
cd "$TOMCAT_HOME"/webapps  
echo "remover war file"  
rm -rf  "$PROJECT_NAME"
cd "$TOMCAT_HOME"/bin  
echo "start tomcat"  
./startup.sh 
  • 系统管理  》 管理插件 》 可选插件 (常用插件,安装jenkins的时候已经安装完毕,现在下载额外几款插件)
  1. Maven Release Plug-in
  2. Publish Over SSH
  3. Gogs
  4. Deploy to container

 

 

注意部署方法,这个可以自动部署

 

 

这里只是本地环境和jekins在一起的配置(同一环境)

部署在另外一个tomcate时如果报错,看jenkins的console的log,如果提示:

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

去tomcate下编辑vi catalina.sh

加上下面,在117行作用

export JAVA_HOME=/usr/local/jdk
export JRE_HOME=/usr/local/jdk/jre

**************************************************************************************************************

 

“增加构建后操作步骤”选:“Send build artifacts over SSH”


Name:即在系统设置里配的服务器地址

Source files:要上传的文件,这里指定上传的是war,YUI_ADM_WAR/target/*.war

Remove prefix:指定需要过滤的文件夹,YUI_ADM_WAR/target/

Remote directory:指定将war上传到服务器哪个目录,/usr/local/tomcat/newWarBack

Exec command:上传完成后要执行的linux命令

 

PROJECT_NAME=adm
TOMCAT_VERSION=apache-tomcat-7.0.68-1
TOMCAT_HOME="/usr/local/tomcat/"$TOMCAT_VERSION""
echo "backup"
cp  "$TOMCAT_HOME"/webapps/"$PROJECT_NAME".war  /usr/local/tomcat/oldWarBack/"$PROJECT_NAME"_`date +%Y%m%d%H%M`.war
 
 
#检查一下,删除5天前的war包文件,
find/usr/local/tomcat/oldWarBack -mtime +10 -type f -name *.war -exec rm -rf {} \;
 
 
echo "over"
cp  /usr/local/tomcat/newWarBack/"$PROJECT_NAME".war "$TOMCAT_HOME"/webapps/  
 
 
 
 
ps -ef |grep "$TOMCAT_VERSION" | grep -v grep |awk '{print $2}'|xargs kill -9
cd "$TOMCAT_HOME"/webapps  
echo "remover war file"  
rm -rf  "$PROJECT_NAME"
cd "$TOMCAT_HOME"/bin  
echo "start tomcat"  
./startup.sh  
强制杀死tomcat进程,删除已经部署过的war文件夹(注意不是war文件而是war部署生成的文件夹),执行启动tomcat命令。

ps:注意这是由本地上传到外网的命令,但走SSH上传是很慢的.有时jenkins和服务器和要运行的服务器在一起,就可以不用上传,可以只执行shell命令不上传文件,使用cp命令复制了.如下:

Source files , Remove prefix,Remote directory都设为空,只保留Exec command,加上cp命令实现linux内网传输,完整命令如下:

cp /home/cy/jenkinsws/workspace/oil_stage_adm/src/master/base/YUI_ADM_WAR/target/*.war  /usr/local/tomcat/newWarBack
 
PROJECT_NAME=adm
TOMCAT_VERSION=apache-tomcat-7.0.68-1
TOMCAT_HOME="/usr/local/tomcat/"$TOMCAT_VERSION""
echo "backup"
cp  "$TOMCAT_HOME"/webapps/"$PROJECT_NAME".war  /usr/local/tomcat/oldWarBack/"$PROJECT_NAME"_`date +%Y%m%d%H%M`.war
 
#检查一下,删除5天前的war包文件,
find/usr/local/tomcat/oldWarBack -mtime +10 -type f -name *.war -exec rm -rf {} \;
 
echo "over"
cp  /usr/local/tomcat/newWarBack/"$PROJECT_NAME".war "$TOMCAT_HOME"/webapps/  
 
 
ps -ef |grep "$TOMCAT_VERSION" | grep -v grep |awk '{print $2}'|xargs kill -9
cd "$TOMCAT_HOME"/webapps  
echo "remover war file"  
rm -rf  "$PROJECT_NAME"
cd "$TOMCAT_HOME"/bin  
echo "start tomcat"  
./startup.sh  


5.7.执行立即构建:

当输出如下时则表示已经构建完成


6.重启: http://localhost:8080/restart

退出:http://localhost:8080/exit

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值