题记:项目打包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. 基于UDS的BootLoader

    bootloader程序架构略有简化的bootloader图 这张图和恒润教程中的BootLoader流程大体是一致的. 疑问点 Q:图中的烧写顺序是34-36-34-36-34-36-37,但另一些 ...

  2. html页面嵌入php代码不显示内容

    新建一个html文件,内容如下: <html> <head> <title>Example</title> </head> <body ...

  3. 认识并初步应用GitHub

    好好学习,天天向上 一.这是一个简单的开头 GIT的地址 https://github.com/Notexcellent GIT的用户名 Notexcxllent 学号后五位 82405 博客地址 h ...

  4. unsigned char数组赋值

    memset(send_buf, 0, SEND_BUFF_LEN); const char * pStr = "this is test txt"; strcpy((char*) ...

  5. 查看 SharePoint Server 中的所有网站集

    网站集是具有同一所有者并共享管理设置(例如权限和配额)的一组网站.网站集是在 Web 应用程序中创建的.创建网站集时,将自动在网站集中创建一个首要网站.然后,可以在首要网站下创建一个或多个子网站.首要 ...

  6. Linux的信号管理

    man 7  signal  #查看信号的实用信息 常用的信号: 信号名     编号       含义SIGHUP    1       无须关闭进程而让其重读配置文件SIGINT      2  ...

  7. 洛谷P3690 Link Cut Tree (动态树)

    干脆整个LCT模板吧. 缺个链上修改和子树操作,链上修改的话join(u,v)然后把v splay到树根再打个标记就好. 至于子树操作...以后有空的话再学(咕咕咕警告) #include<bi ...

  8. POJ-3080-Blue jeans(KMP, 暴力)

    链接: https://vjudge.net/problem/POJ-3080#author=alexandleo 题意: 给你一些字符串,让你找出最长的公共子串. 思路: 暴力枚举第一个串的子串,挨 ...

  9. logback.xml 配置详解(转)

    <?xml version="1.0" encoding="UTF-8"> <configuration> <!-- 设置控制台日 ...

  10. 《Learning Structured Representation for Text Classification via Reinforcement Learning》论文翻译.md

    摘要 表征学习是自然语言处理中的一个基本问题.本文研究了如何学习文本分类的结构化表示.与大多数既不使用结构又依赖于预先指定结构的现有表示模型不同,我们提出了一种强化学习(RL)方法,通过自动覆盖优化结 ...