linux下实现svn自动拉取代码并发布

正常在发布项目的时候是将项目打包成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。

第三步:上面个步骤完成,就开始实现功能了。

[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目录下,防止出现问题。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
要在Linux上使用SVN拉取代码,你可以按照以下步骤进行操作: 1. 首先,请确保你已经在服务器上安装了SVN软件。你可以参考指定的博客链接了解安装过程。 2. 打开终端,使用以下命令进行代码拉取操作: svn checkout svn://服务器IP地址/代码目录 本地路径 --username 用户名 --password 密码 --no-auth-cache [3] 其中,服务器IP地址是指SVN服务器的地址,代码目录是指你希望拉取代码所在的目录,本地路径是指你希望将代码拉取到本地的路径。 如果需要认证,可以指定用户名和密码。 3. 执行上述命令后,SVN将会从服务器上将代码拉取到指定的本地路径。 请确保你已经正确安装了SVN,并且已经有了正确的服务器地址、代码目录以及本地路径。123 #### 引用[.reference_title] - *1* [linux实现svn自动拉取代码发布](https://blog.csdn.net/millery22/article/details/51322517)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* *3* [linuxsvn的常用操作命令总结](https://blog.csdn.net/weixin_39650091/article/details/111832869)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿洞晓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值