1:首先确定了LINUX上已安装SVN MAVEN

2: 把SVN项目CHECKOUT到LINUX服务器

svn checkout svn://172.17.210.82:9999/xxx --username zhang.lh --password xx

3:脚本

1:

#!/bin/sh

#Description:oms发布脚本

#Version:1.0

#Author:dong.j

#Date:2013-12-17

source /etc/profile

#初始化

function init(){

svn_home="/root/retail/mobil-platform/o2o-mobile-access-platform-0.1.0"

project_name="o2o-mobile-access-platform-web"

#project_conf_home="/etc/yougouconf/retail/pmsf1/"

project_deploy_home="/usr/local/yougou/mobil-platform/"   #项目存放路径

tomcat_home="/usr/local/apache-tomcat-7.0.37-test"

}

#逻辑实现

function logicImpl(){

sh retail_common_test.sh "$svn_home" "$project_name" "$project_conf_home" "$project_deploy_home" "$tomcat_home"

}

#主函数

function main(){

init

logicImpl

}

main

2:

#!/bin/sh

#Description:发布脚本

#Version:1.1

#Author:dong.j

#Date:2013-12-16

#Usage:sh publish.sh svn_home project_name project_conf_home project_deploy_home tomcat_home

source /etc/profile

#初始化

function init(){

svn_home="$1"

project_name="$2"

project_conf_home="$3"

project_deploy_home="$4"

tomcat_home="$5"

tomcat_process_id="`ps -ef | grep /usr/local/apache-tomcat-7.0.37-test | grep -v 'grep' | awk '{print $2}'`"

theDay=`date +%Y%m%d -d "1 days ago "`

}

#启动tomcat

function startTomcat(){

echo "################# start tomcat"

sh $tomcat_home/bin/startup.sh >>/dev/null 2>&1

}

#关闭tomcat

function shutdownTomcat(){

echo "#################   shutdown tomcat"

sh $tomcat_home/bin/shutdown.sh >>/dev/null 2>&1

}

#操作tomcat

function tomcatManager(){

echo "#################  tomcatManger"

case $1 in

"start")

if [ "$tomcat_process_id" != "0" ]

then

shutdownTomcat

sleep 3

fi

startTomcat

;;

"shutdown")

if [ "$tomcat_process_id" != "0" ]

then

shutdownTomcat

fi

;;

*)

echo "请输入Tomcat操作命令start or shutdown"

;;

esac

sleep 3

}

#svn更新

function update(){

echo "update svn"

echo "$project_name update svn ...."

cd $svn_home

svn update

echo -e "\n$project_name update svn success...."

}

#maven 打包

function package(){

echo  "package maven"

echo "$project_name package is begging...."

mvn clean package -Dmaven.test.skip=true >>/dev/null 2>&1

echo "$project_name  package success...."

}

#复制上传文件到对应项目目录

function copyFile(){

echo "copy file is begging"

#rm -rf $project_conf_home $project_deploy_home

rm -rf $project_deploy_home

#cp -rf conf/retail/${project_name} ${project_conf_home}

cp -rf o2o-mobile-access-platform-web/target/o2o-mobile-access-platform-web ${project_deploy_home}

}

#逻辑实现

function logicImpl(){

tomcatManager "shutdown"

update

package

echo "$project_name is begging publish...."

copyFile

tomcatManager "start"

echo "$project_name publish success...."

}

#主函数

function main(){

init "$1" "$2" "$3" "$4" "$5"

logicImpl

}

main "$1" "$2" "$3" "$4" "$5"

4:配置TOMCAT 发布路径

linux svn 自动发布,linux svn tomcat maven 自动发布打包相关推荐

  1. linux 进程自重启,linux 进程监控和自动重启的简单实现

    目的:linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能. 实现原理:由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重 ...

  2. 专题篇四:Linux企业级CICD持续集成交付发布(终极实战部署:gitlab++jenkins+web(tomcat)+webbook自动发布)

    4,企业级CI/CD 持续集成/交付/发布 实验一:github+jenkins+web(tomcat) 构建的时候 网络连接超时(正常现象) githud仓库地址1.安装对应的插件(jenkins) ...

  3. linux svn 自动部署,linux下svn安装和自动部署

    liunx系统下安装svn并自动更新到项目中 三部分:[1.安装 2.建立svn库 3.配置文件]html 查看是否安装了svn [svn –version] 若是安装了svn能够先进行卸载 [sud ...

  4. linux svn 自动更新,Linux(Ubuntu) svn 自动更新设置 hooks(post-commit)

    使用svnadmin create 创建一个版本库: svnadmin create REPO 每个版本库的目录下有一个hooks目录: root@SVN:/home/svn/repo# ls /ho ...

  5. svn 添加目录 linux,linux-现有目录的SVN设置

    我一直在浏览文档等,并且可以使用SVN,但是我想将其放在现有目录中.我导入了该目录,因此我应该重命名/删除非SVN目录,然后将SVN检出到非SVN目录位置吗?我只是想了解如何使它开始发布到我们的网站U ...

  6. linux 程序定时重启tomcat,linux下实现tomcat定时自动重启

    tomcat自带的脚本中没有提供直接restart的模式,但是有start和shutdown两种模式.要实现restart模式,实际上只需要判断是否已经启动tomcat,若已经启动则限制性shutdo ...

  7. svn + apache of linux 安装配置

    按以下方法,安装了SVN 服务器端,遇到了两个问题,一个是APACHE无法启动,后用另一种方法解决. 最大问题是后来配置好后,一直无法访问,出现: Forbidden You don't have p ...

  8. svn异地同步 linux,svn库两地开发之代码数据的同步包括***连接的全套解决方案

    应用环境:在北京的svn服务器提供代码归档服务为开发和本地的持续集成编译测试环境,成都开发人员每个人都需要***连接并且不稳定.后来成都部署了本地持续集成环境换取代码,从北京同步完全不现实.触使了成都 ...

  9. linux安装trac+svn+apache+wike,apache+svn+trac安装及配置2

    安装配置Trac 要预先安装的软件包在trac-0.11.2的INSTALL文件里有列出,如下: * Python, version >= 2.3. + Please keep in mind, ...

最新文章

  1. 大龄屌丝自学笔记--Java零基础到菜鸟--028
  2. win 修改hosts文件权限不够,解决办法
  3. 基于angular2实现用户登录并信息持久化的一些理解(二)
  4. android物联网开发技术架构,Android 相关七种 CPU 架构适配,android七种
  5. ActionScript 3.0 Step By Step系列(三):学学流程控制,编编if-else switch while for
  6. 两个特征是独立好还是正相关好_2021考研数学概率典型例题,都给你总结好啦!...
  7. 汇付 支付,痛苦的接入过程
  8. 判断按键值_Pygame(九)按键事件(2)
  9. 在idea中使用@Test注解报错的解决方案
  10. Linux基础命令---检查密码文件pwck 1
  11. C位流行语言,“2018年十大流行语”
  12. 阿里巴巴矢量图库开源http://www.iconfont.cn/collections/detail?cid=29
  13. 跑道标识和那些复杂的灯光系统 and 简介、编号、参数、标志及数量 and 飞机跑道标准与参数...
  14. Luogu P4996 咕咕咕
  15. (陆续更新)Macbook好用工具推荐
  16. 文明5美丽新世界神系信条作用及评价
  17. Android手机多媒体
  18. 如何在VS2019编辑器的第一行默认添加:#define _CRT_SECURE_NO_WARNINGS 1
  19. 怎样制作EDIUS底屏游走字幕?
  20. 干货|APP开发的需求分析步骤

热门文章

  1. Qt学习笔记之QByteArry
  2. 关于VS2013下制作和使用静态库和动态库
  3. BM26 求二叉树的层序遍历(变形更新中)
  4. Todolist总结
  5. 4.13 apache用户认证,跳转和访问日志
  6. 马哥-51CTO-Linux培训-0910-程序包管理
  7. 如何成为个好Java程序员
  8. Java 学习网站汇总贴
  9. ORACLE SELECT INTO NO_DATA_FOUND问题
  10. 添加web引用和添加服务引用有什么区别?