赞
踩
Git + Tomcat + Maven + Jenkins 实现自动化部署 Jar 包和 War 包详细教程 ---亲测
前言 |
首先什么是自动化部署呢, 先来一张图
之前我们可能要在本地用 maven 命令等打成 jar 包或者是 war 包 , 然后将打包好的包放到服务器的 tomcat 上, 这些过程都是手动的, 如果一个项目需要频繁的修改测试部署, 这时候来一个自动化部署多么的炫酷, jenkins 就帮我们做了这事 , 下面说一下核心的配置和步骤 ##
环境准备 |
我们还需要在 jenkins 上配置 Git 的私钥, 不然代码屎拉不下来的,参考如下链接配置 SSH
这些工具的安装步骤就不详细的说了,百度上都有,也可以私信我
##
部署 jar 包核心配置 |
下面是核心,构建后的操作(如果选项卡中没有 send build artifacts over ssh,就去安装一下 SSH Build Agents 插件)Shell 脚本如下
#!/bin/shapp_dir=/opt/maven/jarstore/com/ywq/test/0.0.1-SNAPSHOTapp_file_path=$app_dir/test-0.0.1-SNAPSHOT.jarapp_path=/opt/jar/test.jarsource /etc/profileif [ -f $app_file_path ] ;then echo -- stop app pidlist=`ps -ef | grep test| grep -v grep | awk '{print $2}'` if [ "$pidlist" = "" ] ;then echo "no app pid alive!" else echo "app Id list :$pidlist" kill -9 $pidlist echo "KILL $pidlist:" fiecho -- 开始部署$app_path if [ -f $app_path ] ;then rm -f $app_path echo -- 正在删除$app_pathfi mv $app_file_path $app_path echo -- 开始启动$app_path export JAVA_HOME=/opt/jdk1.8 nohup java -Xms1024m -Xmx1024m -jar $app_path > test.log & echo -- 启动完成fi
这样就是配置好了,就可以实现 jar 包的自动化部署了
##
部署 war 包核心配置 |
部署 war 包和 jar 很相似, 只是在最后一步有差别,构建后的操作
部署 war 包就不用脚本了, 用 Deploy to container 插件(如果选项卡里没有,就去装一下)
如果说我们没有配置 tomcat 的管理账号密码, 就去 tomcat 下 conf 目录的 tomcat-users.xml 文件添加一下,内容如下(在 tomcat-uses 这个标签中)
<role rolename="tomcat"/><role rolename="role1"/><role rolename="manager-script"/><role rolename="manager-gui"/><role rolename="manager-status"/><role rolename="admin-gui"/><role rolename="admin-script"/><user username="tomcat_user" password="123456" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script" />
其余步骤和上面一样, 这样就算配置成功了
总结 |
这一套自动化流程帮我们提高了很大的效率, 同时也避免的一些人为错误的发生。从无到有, 两天的时间, 也是翻阅了很多资料, 遇到了很多困难, 多去尝试!如有对本文或者安装的过程有异议或问题,欢迎讨论学习!
阅读全文: http://gitbook.cn/gitchat/activity/5eb2bb5a4061856c0ad65fad
您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。