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. "

  

时间: 2024-12-29 11:31:47

Linux CentOS6.8 项目部署脚本实现的相关文章

Linux中kettle自动化部署脚本

自己写的一个自动化在Linux中部署kettle的脚本,包括一些遇到的问题在脚本中都有涉及. kettle是官网版本pdi-ce-6.1.0.1-196.zip 脚本: #!/bin/bash #Record the current directory! mulu=`pwd` #The output of JAVA_HOME number of bytes c=`echo $JAVA_HOME|wc -c` echo "Tips:Install JDK rather than JRE!Confi

linux下nginx自动部署脚本

请保证系统可以使用yum源,可以访问外网. 变量NGINX_PATH     修改nginx安装路径,默认为/opt/nginx 变量NGINX_VERSION    修改nginx的安装版本,默认为1.10.0 #!/bin/bash # The nginx installation script automatically # author:startuppp LOCATION=$(pwd) NGINX_PATH=/opt/nginx NGINX_VERSION=1.10.0 echo -e

最小化安装linux CentOS-6.6后 部署fastdfs +下载地址 很干很干的干货

参考:http://blog.itpub.net/7734666/viewspace-1292485/ 安装一些必要软件 yum -y install wget yum -y install gcc yum -y install perl mkdir ~/zy cd ~/zy 安装:libfastcommon 下载: wget https://codeload.github.com/happyfish100/libfastcommon/tar.gz/V1.0.7 解压: tar -zxvf V1

Linux系统下项目部署常用命令

1. 远程传送文件: scp xxx.zip [email protected]:/usr/local/src 远程服务器用户:root ip:10.74.165.114 :后面的传递文件保存路径 2. 解压zip文件: unzip xxx.zip -d aaa 解压xxx.zip文件置于当前路径下的aaa文件夹下: 3. vi xxx ---- 打开文件,并可以对文件进行修改 vi 打开一个不存在的文件a时,在没有输入保存命令时,a文件是不会存储到机器磁盘上的. vi打开一个文件时,进入的是阅

新手小白Linux(Centos6.5)部署java web项目(总)

一.准备 1.linux  centos版本的相关命令操作,千万别找ubuntu的,好多命令都不一样,新手小白我傻傻不知道硬是浪费了一天的时间--(百度百科linux版本了解一下) 2.远程登录: PuTTY .WinSCP .SecureCRT .mstsc.其他(我用的SecureCRT7.3 ,主要看环境支持哪种工具) 3.确认linux服务器有网,没网的话用不了yum,只能从本机获取资源,操作方式也不一样,本文部分安装只介绍yum. 二.明确部署所需要的环境 1.java环境:jdk 2

Java web项目在linux环境下自动编译和部署脚本

自动编译脚本 build.sh, 放置在项目根目录下. #!/bin/bash # check args # init path CURRPATH=`pwd` LIBDIR="$CURRPATH/WebContent/WEB-INF/lib" SRC="$CURRPATH/src" CLASS="$CURRPATH/WebContent/WEB-INF/classes" if [ -a $CLASS ]; then rm -rf $CLASS/*

Linux环境下快速项目部署

由于Linux和Java一样开源,所以现在在服务器的部署上基本上都是采用Linux平台作为服务器,然后部署项目!在开发项目的过程中,绝大部分程序猿还是使用最经典的windows操作系统,虽然Linux也有桌面化的系统,对于国人来说,还是不太习惯,并且国内的软件绝大部分都不支持Linux平台,所以在使用的频率那是相当的少! 在开发中,开发环境中编译使用等一系列通过后,还不能说功能已经ok,因为环境一旦变化,出现的问题的可能是自己没有考虑的,所以程序猿都知道真实的环境才是最可靠的,有时候出现的问题,

将node项目部署到linux系统上

1.准备工作,电脑上需要有xshell(远程连接服务器).xftp(上传文件到服务器上).下载node安装包(linux版) 2.使用xshell连接服务器后,进入根目录cd /   创建文件夹名mkdir opt  进入opt目录中 cd /opt 3.ctrl + alt + f 打开xftp ,左侧是Windows目录 右侧界面linux目录把刚才的node安装包拖入到opt项目中,本地应用项目也一起拖放到这个目录中 4.解压缩node安装包 tar -xzvf node-v7.5.0-l

java项目部署Linux服务器几种启动方式总结经验

一:两种部署包: 部署之前先说下两种包,java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是jar包,下面小介绍两种包的区别: spring boot既可以打成war发布,也可以找成jar包发布.说一下区别: jar包:直接通过内置tomcat运行,不需要额外安装tomcat.如需修改内置tomcat的配置,只需要在spring boot的配置文件中配置.内置tomcat没有自己的日志输出,全