文档章节

maven+svn 半自动脚本部署

ganlm
 ganlm
发布于 2014/11/17 16:57
字数 370
阅读 29
收藏 0
#!/bin/sh
start=`date +%s`

#svn server address
svn=svn://svn.***/abc/web/trunk/

#checkout src
target=/home/maven/abc/

#svn uname
uname=n***e

#svn pwd
pwd=n***i

#
warpath=/home/maven/abc/target

#param svn version
version=$1

# deploy target ip address
ip=$2

#参数判断
if   [   "$#"   !=   "2"   ]
   then
         echo   usage:deploy.sh 0  192.0.0.1
    exit   1
fi

#ip判断
CheckIPAddr()
{
        echo $1|grep "^[0-9]\{1,3\}\.\([0-9]\{1,3\}\.\)\{2\}[0-9]\{1,3\}$" ;
        #IP地址必须为全数字
        if [ $? -ne 0 ]
        then
                echo ip address error
                exit 1
        fi
        ipaddr=$1
        a=`echo $ipaddr|awk -F . '{print $1}'`  #以"."分隔,取出每个列的值
        b=`echo $ipaddr|awk -F . '{print $2}'`
        c=`echo $ipaddr|awk -F . '{print $3}'`
        d=`echo $ipaddr|awk -F . '{print $4}'`
        for num in $a $b $c $d
        do
                if [ $num -gt 255 ] || [ $num -lt 0 ]    #每个数值必须在0-255之间
                then   
                      return 1
                fi
        done
                return 0
}


CheckIPAddr $ip

#svn版本检查
echo "[INRO]----------------Check svn ----------------------------------------"
if echo $version | egrep -q '^[0-9]+$'; then
        if [ $version -eq 0 ]; then
                svn update $svn $target --username $uname --password $pwd
        else
                svn update -r$version  $svn $target --username $uname --password $pwd
        fi

else
    echo svn version \"$version\" is not a number
    exit
fi
echo "[INRO]----------------Check svn done -----------------------------------"

echo "[INRO]----------------mvn package --------------------------------------"
mvn package -Dmaven.test.skip=true
echo "[INRO]----------------mvn package do------------------------------------"

curdate=$(date +%Y%m%d);

echo "[INRO]----------------rsync abc.war to $ip ------------------------"

rsync -aP $warpath/abc.war $ip::war/abc$curdate-$version.war
echo "[INRO]----------------rsync done --------------------------------------------"


end=`date +%s`
dif=$[ end - start ]
echo 共耗时 $dif 秒

服务器0.3配置

/etc/rsyncd.conf

[war] # 这里是认证的模块名,在client端需要指定
path = /rsync_path/dir1 # 需要做镜像的目录
uid = root
gid = root
read only = no # 只读
hosts allow = 192.168.0.1,192.168.1.2(中间无空格) 
# hosts allow = 192.168.0.0/24


© 著作权归作者所有

共有 人打赏支持
ganlm
粉丝 0
博文 5
码字总数 2402
作品 0
海淀
高级程序员
私信 提问
Hadoop多节点测试环境快速部署半自动脚本

本半自动部署包括两个脚本hdpini.sh(环境初始化)和 hdpbld.sh(创建hadoop)。 执行完第一个脚本,再检查手动调整一下。 然后根据第二个脚本里说明配置好ssh passwordless, 再执行第二个脚...

aibati2008
2016/02/23
32
0
找个工作,杭州,今年毕业

掌握MAVEN+SVN的使用 掌握Spring IOC,AOP。SSH事务管理 掌握常用的设计模式,单例、工厂、适配等。 掌握SQL语言CRUD、分页,关系数据库mysql数据库,文档数据库Mongodb 英语CET-4...

大杯白开水
2015/04/13
1K
9
孤月蓝风/VillageGuardians

Village Guardians 本项目基于GPL v2协议开源。 本项目模仿《Village Guardians》,除脚本外,其他所有音乐、音效、图像等素材均来源于网络,版权归原作者所有。 本项目不用于商业用途,仅用...

孤月蓝风
2015/11/09
0
0
Web应用安全审计工具--WATOBO

WATOBO是一个Web应用程序工具箱,它是一个旨在帮助专业安全人员执行高效率的(半自动)Web应用程序安全审计的工具。它类似于一个本地代理,在运行中分析网络通信寻找有用的信息和漏洞。它还具备...

匿名
2011/02/27
10.5K
0
Web 应用安全审计工具 —— WATOBO

WATOBO是一个Web应用程序工具箱,它是一个旨在帮助专业安全人员执行高效率的(半自动)Web应用程序安全审计的工具。它类似于一个本地代理,在运行中分析网络通信寻找有用的信息和漏洞。它还具备...

红薯
2011/02/27
9
0

没有更多内容

加载失败,请刷新页面

加载更多

MySQL查询执行

当我们希望MySQL能够以更高的性能运行查询时,最好的办法就是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点,很多查询优化工作实际上就是遵循一些原则让优化器能够按照预想的合理方式...

问题终结者
49分钟前
1
0
CDH5动静态资源池配置与回滚

关于动态 静态资源池的配置以前都有提过,可以从以下几篇了解: YARN动态资源池配置案例 https://yq.aliyun.com/ziliao/346856# Hadoop YARN配置参数剖析(4)—Fair Scheduler相关参数 Hadoop...

hblt-j
54分钟前
3
0
WordPress仿站实战教程

有一个月没有写blog了,一直在学习wordpress的知识,现在能够进行简单的政府企业门户网站的仿制,wordpress的主题订制,一般是对前端要求比较高,wordpress学会了,建站还是非常的快的。下面...

临江仙卜算子
57分钟前
3
0
图像库stb_image

https://github.com/nothings/stb 目前一般主流的图像格式也就是bmp,jpg,png,tga,dds,除了DDS一般是给DX用的,虽然一堆OpenGL程序也有用的,但是我一般只用png和tga, png不用说了,带a...

robslove
今天
1
0
Spring 事务提交回滚源码解析

前言 在上篇文章 Spring 事务初始化源码分析 中分析了 Spring 事务初始化的一个过程,当初始化完成后,Spring 是如何去获取事务,当目标方法异常后,又是如何进行回滚的,又或是目标方法执行...

TSMYK
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部