利用jenkins实现自动构建、部署,提升团队开发效率

  一大早就被群里的同学刷银川下雪的消息,看着我都发冷,突觉一阵凉风裹身,是不是该考虑秋裤了。

        偏离主题,正文走起......

        使用jenkins目标:利用其结合maven完成自动构建,并部署到tomcat,解放出双手,专注于业务逻辑实现,可配置成定期自行构建部署,亦可由测试人员根据测试情况,手动完成构建部署。

        jenkins搭建运行有段时间,主要是利用“Deploy to container Plugin“来达到自动构建、部署的目标。但此插件运行起来不稳定,经常会导致目标Tomcat服务出现OutOfMemoryError: PermGen space的异常,很是让人头疼,一直未得到妥善解决。

        此次实在是构建发布太频繁,搞的头晕眼花,决意要解决掉此问题,此前有一个方案是使用linux的shell脚本来完成,一直未测试使用,[感谢萧斌兄提供参考脚本],稍加修改测试实验,已经完全正式运行在测试环境中。

        同时,结合maven的profiles特性,结合对应的filter文件,配置在jenkins的maven构建选项中,使用 -P dev/test/prd等,即可实现针对不同环境打不同的构建包,无须再针对不同环境,一一去修改繁琐的配置文件。

 

shell脚本主体内容:

#!/bin/sh  

#defined   

export JAVA_HOME=/usr/java/jdk1.7.0_79

TOMCAT_HOME="/home/tomcat/server-tomcat/"  

ID=`ps -ef |grep java |grep rests |awk '{print $2}'`  

echo $ID   

echo "kill tomcat"  

kill -9 $ID  

echo "remover war file"  

cd "$TOMCAT_HOME"webapps/rests  

rm -rf rests

rm -rf rests.war   

echo "copy war to webapp"  

cp -rf /root/.jenkins/workspace/parent/rests/target/rests.war "$TOMCAT_HOME"webapps/rests

jar xvf *.war 

rm -rf *.war

cd "$TOMCAT_HOME"bin  

echo "start tomcat"  

./startup.sh

 

jenkins中的shell配置如下:


注意:一定是#!/bin/bash 而不是#!/bin/sh ,不然会运行出错。

 

 

欢迎加入我的星球

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MavenTalk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值