jenkins自动部署tomcat
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了jenkins自动部署tomcat,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3189字,纯文字阅读大概需要5分钟。
内容图文
关于部署的3种思路:
- 远程部署(jenkins编译部署到远程服务器):
- 安装ssh插件
- ssh插件配置
- 添加远程jenkins服务器节点:
- 本地部署(与jenkins在同一服务器):
关于maven构建的两种选择:
- 直接选择maven插件
- 自带插件():
- 插件配置(或直接新建maven项目):
- 添加shell编译过程,通过shell调用服务器的maven环境
jenkins配置:
-
export BUILD_ID = XXXXXX # 必须得加,原因未知,否则无法启动tomcat
-
export project_dir = $WORKSPACE
-
export target_dir =/ export / App / zgbcms . m . jd . com
-
export do_dir =/ export / Domains / zgbcms . m . jd . com / server1 / bin
-
export war_path = "cms-web"
-
export war_file = "cms-web.war"
-
# 接受6个参数,mvn_parama为编译什么版本,接受参数dovolopment,test
-
export mvn_parama = "test"
-
-
/ home / lyz / bushu . sh
环境部署shell:
-
#!/bin/bash
-
# 自动编译部署脚本,jenkins调用
-
# 编译后生成文件war,清空并解压到指定文件夹,重启服务器
-
export M2_HOME =/ export / servers / apache - maven - 2.2 . 1
-
export JAVA_HOME =/ export / servers / jdk1 . 6.0 _25
-
export JAVA_BIN =/ export / servers / jdk1 . 6.0 _25 / bin
-
export PATH =/ usr / kerberos / sbin :/ usr / kerberos / bin :/ usr / local / sbin :/ usr / local / bin :/ sbin :/ bin :/ usr / sbin :/ usr / bin :/ root / bin :/ bin
-
export CLASSPATH =.:/ lib / dt . jar :/ lib / tools . jar
-
export 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_OPTS
-
export 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_dir
-
target_dir = $target_dir
-
do_dir = $do_dir
-
war_path = $war_path
-
war_file = $war_file
-
mvn_parama = $mvn_parama
-
-
echo $project_dir
-
echo $target_dir
-
echo $do_dir
-
echo $war_path
-
echo $war_file
-
echo $mvn_parama
-
-
function mvn_build ()
-
{
-
if [ $ # -eq 6 ] # 校验参数是否为6个
-
then
-
if [ - d "$project_dir/" ] && [ - d "$target_dir/" ] && [ - d "$do_dir/" ] # 校验文件夹是否存在
-
then
-
cd $project_dir
-
-
if [ "$mvn_parama" == "development" ]
-
then
-
echo "编译开发版本!"
-
mvn clean install - Dmaven . test . skip = true - Dmaven . javadoc . skip = true - P artifactory , development
-
elif [ "$mvn_parama" == "test" ]
-
then
-
echo "编译test版本!"
-
mvn clean install - Dmaven . test . skip = true - Dmaven . javadoc . skip = true - P artifactory , test
-
else
-
echo "未指定配置文件参数!会导致服务器无法访问!"
-
exit 1
-
fi
-
-
rm - rf $target_dir /*
-
cp - r $project_dir / $war_path / target / $war_file $target_dir /
-
echo $target_dir / $war_file
-
cd $target_dir
-
unzip - oq $war_file
-
rm - rf $target_dir / $war_file
-
-
$do_dir / stop . sh
-
if [ $ ? == 0 ]
-
then
-
echo "服务器停止成功!"
-
else
-
echo "服务器停止失败!"
-
fi
-
-
$do_dir / start . sh
-
if [ $ ? == 0 ]
-
then
-
echo "服务器启动成功!"
-
else
-
echo "服务器启动失败!"
-
exit 1 # 退出状态为1,传给jenkins让任务失败
-
fi
-
else
-
echo "Folder $* is not exist!"
-
exit 1
-
fi
-
else
-
echo "$0 is Errors! Parama is $# not 6!"
-
exit 1
-
fi
-
}
-
-
# 接受6个参数,mvn_parama为编译什么版本,接受参数dovolopment,beta,production,test 或其他,其他为默认
-
mvn_build $project_dir $target_dir $do_dir $war_path $war_file $mvn_parama
附件列表
原文:http://www.cnblogs.com/ceshisanren/p/6343777.html
内容总结
以上是互联网集市为您收集整理的jenkins自动部署tomcat全部内容,希望文章能够帮你解决jenkins自动部署tomcat所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。