linux下实现svn自动拉取代码并发布
2016-05-05 14:14
549 查看
正常在发布项目的时候是将项目打包成war包,并将代码上传到服务器中,运行服务器,整个过程较为复杂,在测试过程中会涉及到多次代码的修改,重新打包发布,这样就很不友好,接下来就简单介绍一种方法,只要执行一个shell脚本文件就能把整个过程全部搞定。
第一步:安装svn,服务器中一定要安装svn,应为在更新代码的时候会用到svn相关的命令。具体安装过程看我的另一篇博客http://blog.csdn.net/millery22/article/details/51218491。
第二步:安装maven,同上一步一样,在执行shell脚本的过程中需要用到maven相关的命令,因为项目采用的是maven项目,具体安装过程请参看我的另一篇博客http://blog.csdn.net/millery22/article/details/51322497。
第三步:上面个步骤完成,就开始实现功能了。
到这里代码的拉取和编译打包过程就完成了,这里就可以将war包发布到tomcat服务器中运行了。但是这个不是我们想要的,过程还是挺多的,但是此时我们可以将这些步骤写在shell脚本中,只要执行一次shell脚本就可以完成了。
shell脚本内容如下:
注意:
1、 在使用上面的脚本时请去除后面的注释
2、 echo表示输出内容,相当于在控制台打印日志
3、 运行脚本之前给脚本文件755权限,命令如下:
4、 运行脚本文件命令是./shell.sh
5、 如果这个脚本文件是在Windows系统下编辑好上传到svn下的,请注意文件的类型,防止运行不了。
查看和修改文件类型(假设shell脚本名称为shell.sh):
:set ff #看出来的类型是不是非unix类型
:set ff=unix #设置文件类型为unix类型
保存脚本文件,重新运行脚本文件
shell脚本最好放置在maven目录下,防止出现问题。
第一步:安装svn,服务器中一定要安装svn,应为在更新代码的时候会用到svn相关的命令。具体安装过程看我的另一篇博客http://blog.csdn.net/millery22/article/details/51218491。
第二步:安装maven,同上一步一样,在执行shell脚本的过程中需要用到maven相关的命令,因为项目采用的是maven项目,具体安装过程请参看我的另一篇博客http://blog.csdn.net/millery22/article/details/51322497。
第三步:上面个步骤完成,就开始实现功能了。
[root@iZ288xv4ewfZ ~]# cd /usr/local/src #进入src目录 [root@iZ288xv4ewfZ src]# mkdir maven #创建maven目录 [root@iZ288xv4ewfZ src]# cd maven #进入maven目录 [root@iZ288xv4ewfZ maven]# svnco svn://www.minuor.com(ip或者域名)/minuor/trunk./ #将svn指定位置的代码检出到当前的目录下 [root@iZ288xv4ewfZ maven]# ll #查看到当前目录下有一个或多个,就是trunk下的所有项目 [root@iZ288xv4ewfZ maven]# cd minuor #进入其中一个项目中 [root@iZ288xv4ewfZ minuor]# svn up #表示更新代码,让当前目录下是当前项目的最新代码 [root@iZ288xv4ewfZ maven]# mvn -U clean install #编译打包项目,打包结束后或在当前目录下多出一个target目录,这个目录中就存在打包好的war包
到这里代码的拉取和编译打包过程就完成了,这里就可以将war包发布到tomcat服务器中运行了。但是这个不是我们想要的,过程还是挺多的,但是此时我们可以将这些步骤写在shell脚本中,只要执行一次shell脚本就可以完成了。
shell脚本内容如下:
#!/bin/sh #这是shell脚本的头,必须要 echo">>>>>>>>>>>>>>>>>>>>>>>>update code" cd /usr/local/src/maven/minuor/ #进入项目代码所在位置 svn up #执行更新 mvn -U clean install #编译打包 echo">>>>>>>>>>>>>>>>>>>>>>>>stop tomcat" /minuor/tomcat/minuor/bin/catalina.shstop #这里是停止tomcat sleep 5s echo">>>>>>>>>>>>>>>>>>>>>>>>move file" rm -rf /minuor/tomcat/minuor/webapps/* #移除tomcat内webapps下的所有内容 cp /usr/local/src/maven/minuor/target/minuor-1.0.0.war/minuor/tomcat/minuor/webapps/ROOT.war #将打包编译好的项目移动到tomcat内webapps下,并改名为ROOT.war echo">>>>>>>>>>>>>>>>>>>>>>>>start tomcat" /minuor/tomcat/minuor/bin/catalina.shstart #启动tomcat tailf/minuor/tomcat/minuor/logs/catalina.out #输出tomcat启动日志
注意:
1、 在使用上面的脚本时请去除后面的注释
2、 echo表示输出内容,相当于在控制台打印日志
3、 运行脚本之前给脚本文件755权限,命令如下:
[root@iZ288xv4ewfZ maven]# chmod 755 shell.sh
4、 运行脚本文件命令是./shell.sh
5、 如果这个脚本文件是在Windows系统下编辑好上传到svn下的,请注意文件的类型,防止运行不了。
查看和修改文件类型(假设shell脚本名称为shell.sh):
[root@iZ288xv4ewfZ maven]# vi shell.sh #查看文件
:set ff #看出来的类型是不是非unix类型
:set ff=unix #设置文件类型为unix类型
保存脚本文件,重新运行脚本文件
shell脚本最好放置在maven目录下,防止出现问题。
相关文章推荐
- CentOS重置root密码
- 深入理解Linux内核day09--系统调用
- linux下安装maven
- Centos7 iptables/netfilter 详解
- linux(centos6) 安装mysql5.7
- linux 下操作Mysql系列文章一
- linux send与recv函数详解
- 小何讲Linux: Linux中文件及文件描述符概述
- Linux之模块编程
- 【Linux安全】文件或目录权限设置
- Linux下__u8的定义头文件
- centos7安装mysql数据库
- LINUX各个发行版本之间的区别
- Linux find命令详解
- Linux 第5章习题
- [linux] linux下编译安装zlib
- 小何讲Linux: Linux系统调用及用户编程接口(API)
- 解决新手机连接到centos系统电脑adb devices不显示设备问题
- linux 上端口占用的程序
- Centos 7上为Dell R730服务器挂载RAID10硬盘的过程