Linux CentOS6.8 项目部署脚本实现
面向刚接触linux环境的新手,老鸟勿拍~
部署环境及配置: tomcat9,maven3.3.9,git 1.12.0
##定义一些变量,将需要用到的 source目录,项目目录,名称等定义变量,方便使用
buildpkg=/mnt/xxx-tomcat-9.0.0.M4/gitsourcepkg/ #git拉取源码存放目录
buildpkgName=xxx-0.0.1-SNAPSHOT.war #maven打包后生成的包名
targetpath=/mnt/xxx-tomcat-9.0.0.M4/gitsourcepkg/xxx/target/tbkmark-0.0.1-SNAPSHOT.war #maven打包后包存放的位置
projectName=/mnt/xxx-tomcat-9.0.0.M4/gitsourcepkg/xxx #git拉下来的代码项目路径,进入到该目录下执行 mvn package可执行maven打包
tomcatName=xxx #tomcat的名字,方便同一个环境下分多个tomcat的时候查询指定tomcat的进程
projectPath=/mnt/xxx-tomcat-9.0.0.M4/webapps/ROOT #项目在tomcat中存放的路径
startpath=/mnt/xxx-tomcat-9.0.0.M4/bin/startup.sh #tomcat启动脚本
logpath=/mnt/xxx-tomcat-9.0.0.M4/logs/catalina.out #日志路径
echo "##### start build xxx进入build目录,清理旧数据 拉取项目#####"
cd $buildpkg
rm -rf *
git clone git链接
echo "##### git pull ok git上拉取项目完毕后,进入项目目录中进行打包,并且跳过测试代码#####"
cd $projectName
mvn package -Dmaven.test.skip=true
echo "##### maven pkg ok 打包成功后 查看指定tomcat进程,并且杀掉,然后将tomcat下存放项目的目录清空,将新打包的项目包复制到tomcat下指定目录 并解压#####"
ps -ef | grep tomcat | grep $tomcatName | awk '{print $2}'|xargs kill -9
cd $projectPath
rm -rf *
cp $targetpath $projectPath
jar -xvf $buildpkgName
echo "##### kill tomcat and cp pkg to root ok !!! 复制生产环境专用的配置文件,启动tomcat 等待5秒后查看日志 #####"
\cp /application.properties /mnt/xxx-tomcat-9.0.0.M4/webapps/ROOT/WEB-INF/classes #\cp 表示复制的时候如果目标目录下存在同名文件,进行强制覆盖,不再提醒 Y/N
sh $startpath
sleep 5s
tailf -n 500 $logpath
SVN篇 从部署服务器执行脚本,将项目部署到生产服务器
projectName=项目名称
targetMathineme=项目名称
targetMathine=目标服务器ssh链接路径
targetTomcatWebAppsDir="~/xxx-tomcat-8.0.35/webapps"
svnPath=svn地址
checkoutDir="checkout"
targetWarName=war包名
mvn scm:bootstrap -DconnectionUrl=scm:svn:$svnPath -DcheckoutDirectory=$checkoutDir -Dgoals=package -Dprofiles=skipTest,dev -DmavenHome=""
if [ -f "./$checkoutDir/target/$targetWarName.war" ]; then
echo "File xxx Generate success!"
scp $checkoutDir/target/$targetWarName.war $targetMathine:$targetTomcatWebAppsDir/$targetWarName.war.tmp
ssh $targetMathine "mv $targetTomcatWebAppsDir/$targetWarName.war.tmp $targetTomcatWebAppsDir/$targetWarName.war"
fi
echo "xxx.war publish success. "
Linux CentOS6.8 项目部署脚本实现的更多相关文章
- linux系统tomcat项目部署和tomcat访问日志
一.只用ip地址访问 先把端口号改成80,然后用 <Host name="localhost" appBase="webapps" 137 ...
- Linux操作系统与项目部署
Linux操作系统与项目部署 注意:本版块会涉及到操作系统相关知识. 现在,几乎所有智能设备都有一个自己的操作系统,比如我们的家用个人电脑,基本都是预装Windows操作系统,我们的手机也有Andro ...
- 常用linux命令(项目部署)
centos 图形 命令行 界面切换 如果在图形界面下,按:Ctrl+Alt+F2进入如下命令行界面 -------------- 看当前目录的路径: pwd ................... ...
- Linux中kettle自动化部署脚本
自己写的一个自动化在Linux中部署kettle的脚本,包括一些遇到的问题在脚本中都有涉及. kettle是官网最新版本pdi-ce-6.1.0.1-196.zip 目前最新版本下载地址:https: ...
- Linux下分布式项目部署环境搭建与使用(druid-1.0.25.jar)数据库连接加密
一.JDK安装 1.执行命令:cd Downloads/ 2.上 传:jdk-8u111-linux-x64.tar.gz 到Downloads 3.执行命令:tar -zxvf jdk-8u111- ...
- linux系统上项目部署
步骤:(特别注意:虚拟机安装的一般是32位的操作系统,jdk也必须使用32位的)查看虚拟机版本:sudo uname --m i686 //表示是32位 x86_64 // 表示是64位 查看是否已经 ...
- 最小化安装linux CentOS-6.6后 部署fastdfs +下载地址 很干很干的干货
参考:http://blog.itpub.net/7734666/viewspace-1292485/ 安装一些必要软件 yum -y install wget gcc perl mkdir ~/zy ...
- 写了个关于tomcat项目部署脚本 shell
#!/bin/bash tomcat_project_path=" /server/tomcat" tomcat_cp_path="/root/tools/apache- ...
- linux上jar项目启动脚本
---------------启动:start.sh #!/bin/bashcd `dirname $0`BIN_DIR=`pwd`cd ..DEPLOY_DIR=`pwd`CONF_DIR=$DEP ...
随机推荐
- "Login failed for user 'NT AUTHORITY\SYSTEM'. 原因: 无法打开明确指定的数据库。"异常处理
公司一台SQL Server服务器一直报 "Login failed for user 'NT AUTHORITY\SYSTEM'. 原因: 无法打开明确指定的数据库."错误,按网 ...
- 模块 import 与from
什么是模块:就是一系列功能的集合体 模块的来源 :1内置模块 2 第三方模块 3 自定义模块 模块的格式: 1 使用python编写的.py文件 2 已被编译为共享库或DLL的C或C++扩展 ...
- jmeter基本使用
下载安装,推荐官网http://jmeter.apache.org/download_jmeter.cgi 安装步骤不做赘述,可以看这篇博文https://blog.csdn.net/u0103401 ...
- FastClick用法
https://majing.io/posts/10000007721218 为什么要使用FastClick 移动设备上的浏览器默认会在用户点击屏幕大约延迟300毫秒后才会触发点击事件,这是为了检查用 ...
- Python实战:网络爬虫都能干什么?
整站下载器:siteSucker https://blog.csdn.net/l_215851356/article/details/54377582 http://python.jobbole.co ...
- IIS 设备未就绪。
看看Web.config 是否指向的磁盘在本机上不存在此磁盘
- Learning-Python【3】:Python中的基本运算符
一.算数运算 二.比较(关系)运算 比较运算只能在同类型之间进行,其中 int 与 float 同属于数字类型 三.赋值运算 1.增量赋值 2.链式赋值 3.交叉赋值 交换两个数的值,通常要借助第三个 ...
- [POI1999][LOJ10112]原始生物
典型的有向图K笔画的问题 最后答案就是n+1-1+k 1笔画有一点入度比出度少1 k笔画则统计入度比出度少的点中所有少的总和 #include<bits/stdc++.h> using n ...
- RNN流程
1.记号 2.前向计算,第二张图是第一张图的公式的简化.其中a称之为隐状态 3.计算代价函数
- 2017 Russian Code Cup (RCC 17), Elimination Round D - Acute Triangles
D - Acute Triangles 思路: 极角排序+点积叉积 在一个三角形中,如果它是直角或者顿角三角形,那么直角和顿角只会出现一次 所以直角和顿角三角形的个数等于直角和顿角的个数 所以锐角三角 ...