题记:项目打包bash脚本

环境准备

  maven版本:3.5.2

    mvn -v  #查看maven的版本信息

  svn版本:1.4.0

    svn --version  #查看svn版本信息

1、update_and_package.sh脚本代码如下:

#!/bin/sh

if [ $# ==  ]; then
echo "[INFO] start update svn open..." echo " ------------------------------------------------------------------------" cd /home/hostname/webapps/project_name svn update echo "[INFO] success update svn open..." echo " ------------------------------------------------------------------------" echo "[INFO] start maven" if [ "$1" == "test" ]; then
mvn test
fi if [ "$1" == "install" ]; then
mvn clean package -Dmaven.test.skip=true
fi if [ "$1" == "package" ]; then
mvn package -Dmaven.test.skip=true
fi if [ "$1" == "clean" ]; then
mvn clean
fi
else
echo "Useage: "
echo " ./update.sh test Test the maven project."
echo " ./update.sh install Install the maven project."
echo " ./update.sh package Package the maven project."
echo " ./update.sh clean Clean the maven project."
echo " ./update.sh compile Compile the maven project."
fi

###注意:脚本将项目打包成jar包

2、rsync_project.sh  更新并执行jar包

#!/bin/bash
ARG=$
VERSION=$
date2=`date +%Y%m%d` if [ -z $ARG ];then
echo "Please input you operation,such as update"
exit
fi case $ARG in update)
mkdir /home/hostname/project_name/$date2
rsync -avz --delete 192.168.1.10::home/hostname/webapps/project_name/target/manage-0.0.-SNAPSHOT.jar /home/hostname/webapps/$date2/manage-0.0.-SNAPSHOT.jar
cp -f /home/hostname/project_name/$date2/manage-0.0.-SNAPSHOT.jar /home/hostname/project_name/webapps/manage-0.0.1-SNAPSHOT.jar
sh /home/hostname/project_name/bin/stop.sh
sleep
sh /home/hostname/project_name/bin/start.sh
tailf - /home/hostname/project_name/logs/nohup.out
;;
*)
echo "operation time: "$date
;;
esac

3、stop.sh脚本

#! /bin/sh

APP_NAME=project_name.jar

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill - $tpid
fi

4、start.sh

#! /bin/sh

JAVA_HOME=/opt/jdk1..0_91

if test -n "${JAVA_HOME}"; then
if test -z "${JAVA_EXE}"; then
JAVA_EXE=$JAVA_HOME/bin/java
fi
fi if test -z "${JAVA_EXE}"; then
JAVA_EXE=java
fi nohup $JAVA_EXE -jar /home/hostname/project_name/webapps/project_name.jar --spring.config.name=application-outter.properties --spring.config.location=/home/hostname/project_name/webapps/application-outter.properties --logging.config=/home/hostname/peoject_name/webapps/log4j2.xml > /home/hostname/project_name/logs/nohup.out &

SVN+MAVEN项目打包的更多相关文章

  1. maven 项目打包 及window下部署到tomcat

    1.maven项目打包 2.将war文件拷贝到tomcat目录webapps下(不要再建目录)3.将必要的jar文件拷贝到tomcat目录libx下 war包 或jar 包 会生成到项目所在路径 的t ...

  2. Storm系列(三):创建Maven项目打包提交wordcount到Storm集群

    在上一篇博客中,我们通过Storm.Net.Adapter创建了一个使用Csharp编写的Storm Topology - wordcount.本文将介绍如何编写Java端的程序以及如何发布到测试的S ...

  3. maven项目打包运行出错问题汇总

    maven项目打包时总会出现莫名其妙的错误,现总结一下. 打包方式:在maven项目底下运行cmd,输入mvn clean package,会自动按pom.xml的配置打成包.使用java -jar ...

  4. eclipse下将maven项目打包为jar(1.不带第三方jar,2.带第三方jar)

    由于项目需要讲maven项目打包为jar包,由于之前没类似经验,百度找例子走了不少弯路,这边随手记录下,网上说的 开发工具:eclipse jar包管理:maven 一般打包出来的jar包分为两种 一 ...

  5. maven 项目打包到本地仓库并且推送到私服仓库

    首先进入到项目文件夹下,然后进入cmd命令窗口,第一步先clean一下,输入命令 mvn clean. 第二步打包到本地,输入命令mvn clean package -Dmaven.test.skip ...

  6. 怎么将maven项目打包成war包

    问题:我在eclipse上能运行,然后我想将这个maven项目打包成war然后放到另外一台机子上(其实是手动放在tomcat的webapp目录中),提供外部访问.现在问题是,一直maven项目打包一直 ...

  7. 如何将maven项目打包成可执行的jar

    如何将maven项目打包成可执行的jar 分类: maven2010-12-17 10:18 10411人阅读 评论(2) 收藏 举报 jarmavenassemblyjava 方法一:将项目及所依赖 ...

  8. eclipse工具maven项目打包文件不是最新修改的

    1.问题描述:maven项目,完成一些功能开发后,在进行打包更新服务器系统时,本地eclipse工具对文件打成jar包操作,更新到服务器上没有修改的效果,包括打包整个工程为一个war包,也是有同样问题 ...

  9. maven项目打包成可执行的jar

    编写功能类: package com.hpay.FileToZkUtil; import java.io.File; import java.io.FileInputStream; import ja ...

随机推荐

  1. Linux sed命令 -- 三剑客老二

    格式: sed [OPTION]... {script-only-if-no-other-script} [input-file]... sed [OPTION]... ‘地址定界+[高级]编辑命令’ ...

  2. IPC之syscall.c源码解读

    // SPDX-License-Identifier: GPL-2.0 /* * sys_ipc() is the old de-multiplexer for the SysV IPC calls. ...

  3. codeforces 576C Points on Plane 相邻两点的欧拉距离

    题意:给出n个点,要求排序后,相邻两点的欧拉距离之和小于等于2.5e9做法:由于0≤ xi, yi ≤ 1e6,所以可以将x<=1000的点分成一份,1000<x<=2000的点分成 ...

  4. sql 178. 分数排名

    编写一个 SQL 查询来实现分数排名.如果两个分数相同,则两个分数排名(Rank)相同.请注意,平分后的下一个名次应该是下一个连续的整数值.换句话说,名次之间不应该有“间隔”. +----+----- ...

  5. MyBatis: Invalid bound statement (not found)错误的可能原因

    MyBatis: Invalid bound statement (not found)错误的可能原因 其他原因导致此问题解决参考: 1.检查 xml 文件所在 package 名称是否和 Mappe ...

  6. Decrator 装饰模式

    注:装饰模式是结构型设计模式,动态地给一个对象增加一些额外的职责,就增加的功能来说,Decorator模式相比生成子类更加灵活. 主要是利用组合代替继承来实现业务功能,对动态改变业务实现来说,相比更灵 ...

  7. 远程文件传输工具sftp、scp、rsync

    一.scp 格式 scp [options] [user@]host : /sourcefile /destpathscp [options] /sourcefile [user@]host:/des ...

  8. itop4412编译内核时出现“recipe for target 'arch/arm/mach-exynos/cpu-exynos4.o' failed”的解决方法

    依次执行如下命令 #su root 输入root用户密码 #cd #vim .bashrc 到达最底行,确保环境变量如下图所示 保存退出后,执行如下指令 #source .bashrc 重启Termi ...

  9. 一例tornado框架下处理上传图片并生成缩略图的例子

    class coachpic(RequestHandler): @gen.coroutine def post(self): picurl = self.request.files[] print(& ...

  10. Linux 目录共享

    ## 安装 nfs 和 rpc yum install -y nfs-utils rpcbind ## ubuntu 安装 nfs 和 rpc ## apt-get install nfs-kerne ...