linux svn 自动发布,linux svn tomcat maven 自动发布打包
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 自动发布打包相关推荐
- linux 进程自重启,linux 进程监控和自动重启的简单实现
目的:linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能. 实现原理:由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重 ...
- 专题篇四:Linux企业级CICD持续集成交付发布(终极实战部署:gitlab++jenkins+web(tomcat)+webbook自动发布)
4,企业级CI/CD 持续集成/交付/发布 实验一:github+jenkins+web(tomcat) 构建的时候 网络连接超时(正常现象) githud仓库地址1.安装对应的插件(jenkins) ...
- linux svn 自动部署,linux下svn安装和自动部署
liunx系统下安装svn并自动更新到项目中 三部分:[1.安装 2.建立svn库 3.配置文件]html 查看是否安装了svn [svn –version] 若是安装了svn能够先进行卸载 [sud ...
- linux svn 自动更新,Linux(Ubuntu) svn 自动更新设置 hooks(post-commit)
使用svnadmin create 创建一个版本库: svnadmin create REPO 每个版本库的目录下有一个hooks目录: root@SVN:/home/svn/repo# ls /ho ...
- svn 添加目录 linux,linux-现有目录的SVN设置
我一直在浏览文档等,并且可以使用SVN,但是我想将其放在现有目录中.我导入了该目录,因此我应该重命名/删除非SVN目录,然后将SVN检出到非SVN目录位置吗?我只是想了解如何使它开始发布到我们的网站U ...
- linux 程序定时重启tomcat,linux下实现tomcat定时自动重启
tomcat自带的脚本中没有提供直接restart的模式,但是有start和shutdown两种模式.要实现restart模式,实际上只需要判断是否已经启动tomcat,若已经启动则限制性shutdo ...
- svn + apache of linux 安装配置
按以下方法,安装了SVN 服务器端,遇到了两个问题,一个是APACHE无法启动,后用另一种方法解决. 最大问题是后来配置好后,一直无法访问,出现: Forbidden You don't have p ...
- svn异地同步 linux,svn库两地开发之代码数据的同步包括***连接的全套解决方案
应用环境:在北京的svn服务器提供代码归档服务为开发和本地的持续集成编译测试环境,成都开发人员每个人都需要***连接并且不稳定.后来成都部署了本地持续集成环境换取代码,从北京同步完全不现实.触使了成都 ...
- linux安装trac+svn+apache+wike,apache+svn+trac安装及配置2
安装配置Trac 要预先安装的软件包在trac-0.11.2的INSTALL文件里有列出,如下: * Python, version >= 2.3. + Please keep in mind, ...
最新文章
- 大龄屌丝自学笔记--Java零基础到菜鸟--028
- win 修改hosts文件权限不够,解决办法
- 基于angular2实现用户登录并信息持久化的一些理解(二)
- android物联网开发技术架构,Android 相关七种 CPU 架构适配,android七种
- ActionScript 3.0 Step By Step系列(三):学学流程控制,编编if-else switch while for
- 两个特征是独立好还是正相关好_2021考研数学概率典型例题,都给你总结好啦!...
- 汇付 支付,痛苦的接入过程
- 判断按键值_Pygame(九)按键事件(2)
- 在idea中使用@Test注解报错的解决方案
- Linux基础命令---检查密码文件pwck 1
- C位流行语言,“2018年十大流行语”
- 阿里巴巴矢量图库开源http://www.iconfont.cn/collections/detail?cid=29
- 跑道标识和那些复杂的灯光系统 and 简介、编号、参数、标志及数量 and 飞机跑道标准与参数...
- Luogu P4996 咕咕咕
- (陆续更新)Macbook好用工具推荐
- 文明5美丽新世界神系信条作用及评价
- Android手机多媒体
- 如何在VS2019编辑器的第一行默认添加:#define _CRT_SECURE_NO_WARNINGS 1
- 怎样制作EDIUS底屏游走字幕?
- 干货|APP开发的需求分析步骤