jenkins自动部署tomcat

关于部署的3种思路:
- 远程部署(jenkins编译部署到远程服务器):
- 安装ssh插件
- ssh插件配置
- 添加远程jenkins服务器节点:
- 本地部署(与jenkins在同一服务器):
关于maven构建的两种选择:
- 直接选择maven插件
- 自带插件():
- 插件配置(或直接新建maven项目):
- 添加shell编译过程,通过shell调用服务器的maven环境
jenkins配置:
export BUILD_ID=XXXXXX # 必须得加,原因未知,否则无法启动tomcatexport project_dir=$WORKSPACEexport target_dir=/export/App/zgbcms.m.jd.comexport do_dir=/export/Domains/zgbcms.m.jd.com/server1/binexport war_path="cms-web"export war_file="cms-web.war"# 接受6个参数,mvn_parama为编译什么版本,接受参数dovolopment,testexport mvn_parama="test"/home/lyz/bushu.sh
环境部署shell:
#!/bin/bash# 自动编译部署脚本,jenkins调用# 编译后生成文件war,清空并解压到指定文件夹,重启服务器export M2_HOME=/export/servers/apache-maven-2.2.1export JAVA_HOME=/export/servers/jdk1.6.0_25export JAVA_BIN=/export/servers/jdk1.6.0_25/binexport PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/binexport CLASSPATH=.:/lib/dt.jar:/lib/tools.jarexport JAVA_OPTS="-Djava.library.path=/usr/local/lib -server -Xms1024m -Xmx1024m -XX:MaxPermSize=256m -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=60000 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300"export JAVA_HOME JAVA_BIN PATH CLASSPATH JAVA_OPTSexport PATH=$PATH:$M2_HOME/bin# 测试用传参#export project_dir=/root/.jenkins/workspace/zgb_server_master#export target_dir=/export/App/zgb.m.jd.com#export do_dir=/export/Domains/zgb.m.jd.com/server1/bin#export war_path="jd-qqgserver-web"#export war_file="jd-qqgserver-web.war"project_dir=$project_dirtarget_dir=$target_dirdo_dir=$do_dirwar_path=$war_pathwar_file=$war_filemvn_parama=$mvn_paramaecho $project_direcho $target_direcho $do_direcho $war_pathecho $war_fileecho $mvn_paramafunction mvn_build(){if[ $# -eq 6 ] # 校验参数是否为6个thenif[-d "$project_dir/"]&&[-d "$target_dir/"]&&[-d "$do_dir/"]# 校验文件夹是否存在thencd $project_dirif["$mvn_parama"=="development"]thenecho "编译开发版本!"mvn clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -P artifactory,developmentelif["$mvn_parama"=="test"]thenecho "编译test版本!"mvn clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -P artifactory,testelseecho "未指定配置文件参数!会导致服务器无法访问!"exit 1firm -rf $target_dir/*cp -r $project_dir/$war_path/target/$war_file $target_dir/echo $target_dir/$war_filecd $target_dirunzip -oq $war_filerm -rf $target_dir/$war_file$do_dir/stop.shif[ $?==0]thenecho "服务器停止成功!"elseecho "服务器停止失败!"fi$do_dir/start.shif[ $?==0]thenecho "服务器启动成功!"elseecho "服务器启动失败!"exit 1# 退出状态为1,传给jenkins让任务失败fielseecho "Folder $* is not exist!"exit 1fielseecho "$0 is Errors! Parama is $# not 6!"exit 1fi}# 接受6个参数,mvn_parama为编译什么版本,接受参数dovolopment,beta,production,test 或其他,其他为默认mvn_build $project_dir $target_dir $do_dir $war_path $war_file $mvn_parama
附件列表
jenkins自动部署tomcat的更多相关文章
- Jenkins自动部署Tomcat项目
Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:
- 内存溢出导致jenkins自动部署到tomcat失败
原文地址:http://openwares.net/java/jenkens_deploy_to_tomcat_error_of_outofmemoryerror.html jenkins自动部署wa ...
- 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建
使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 目录 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 使用jenkins自动 ...
- jekins自动部署tomcat注意事项、连接tomcat报错
jekins自动部署tomcat注意事项 千万不要用下面插件推送,报错很多, 要用脚本,一篇博客说的:“我们都是用的脚本,插件报错太多,也不完善” Deploy to container Plugin ...
- 使用Maven自动部署Tomcat 6和Tomcat 7下Web应用
使用Maven自动部署Tomcat 6和Tomcat 7下Web应用 开启Tomcat远程管理权限 在tomcat的config目录下的tomcat-users.xml文件, <role rol ...
- linux下实现自动部署tomcat的脚本
linux下实现自动部署tomcat的脚本 由于经常部署war到tomccat上,经常有一些重复的工作要做:停服务.备份war包.上传新的war包.启动服务.索性就写了一个自动部署的脚本. 脚本如下a ...
- 使用Jenkins自动部署博客
title: 使用Jenkins自动部署博客 toc: true comment: true date: 2017-12-17 19:48:10 tags: ['Jenkins', 'CI'] cat ...
- 自动部署tomcat 脚本
自动部署tomcat 脚本 . /etc/init.d/functions #调用系统函数 yum -y install java >/dev/null TAR="apache-tom ...
- jenkins自动部署代码到多台服务器
下面讲一下如何通过一台jenkins服务器构建后将代码分发到其他的远程服务器,即jenkins自动部署代码到多台服务器. 1.下载 pulish over ssh 插件 2.系统管理 -> 系统 ...
随机推荐
- centos下安装visual studio code出现can't find libXss.so.1,出现这在类似怎么查找相关包
在安装visual studio code时候.出现libXss.so.1被依赖,这个so文件要查看是属于那个包,通过此命令repoquery --nvr --whatprovides libXss. ...
- 使用Volley上传文件
使用浏览器上传文件,然后通过Wireshark抓包分析,发现发送的数据大概是这个样子. MIME Multipart Media Encapsulation, Type: multipart/form ...
- PHP Functions - arsort()
<?php $characters = array('a','b','c','d','e','f'); arsort($characters); print_r($characters); /* ...
- zookeeper集群崩溃处理
今天在私有化项目中遇到如下问题: 1.客户反馈用户登录返回303 2.登录服务器查看是大量的log将服务器磁盘空间占用殆尽,导致所有服务进程仍旧存在但是监听端口失败,服务不可用 3.清理日志文件 4. ...
- ActiveMQ5.0实战三:使用Spring发送,消费topic和queue消息
实战一 , 实战二 介绍了ActiveMQ的基本概念和配置方式. 本篇将通过一个实例介绍使用spring发送,消费topic, queue类型消息的方法. 不懂topic和queue的google 之 ...
- Eclipse ADT 与VS 常用的快捷键 对比学习
注:以下说的类型于VS,是指:VS+Resharper的快捷键,我是采用了Resharper作为VS的快捷键. 导航 Ctrl+1 快速修复 (类似于VS的alt+enter) Ctrl+D: 删除当 ...
- Log4Net从Mvc转到.Net Core
原项目用的Log4Net,不过版本比较旧,在Core里新版也进行了支持,本文用的是现在最新版本2.0.8 1.LogHelper帮助类放另一个类库中 Log/LogHelper.cs 2.单独建的配置 ...
- C# 一些代码小结--串口操作
串口解析显示中文 private String SerialPortReadStr() { try { String str = null; int n = serialPort1.BytesToRe ...
- Font Awesome矢量版,十六进制版,WPF字体使用
我之前在博客中介绍过几个矢量图库网站,在WPF程序中,一般接触到的矢量图标资源有XAML.SVG.字体这三种格式.XAML是标准格式就不说了,SVG并不是直接支持的,不过微软提供了Expression ...
- easyui-layout系列之布局(1)
1.Layout布局 通过 $.fn.layout.defaults 重写默认的 defaults. 布局(layout)是有五个区域(北区 north.南区 south.东区 east.西区 wes ...





