CentOS 7 环境下部署Tomcat + SVN 实现自动更新

一、安装 SVN

1.先检查是否有安装 svn
rpm -qa subversion      #没有什么显示就说明没有安装过
yum remove subversion   #如果有安装就运行删除老版本
yum install subversion  #运行安装SVN
2.创建SVN目录(这里我们直接部署到Tomcat/webapps下,如果没有可以自行部署一个Tomcat)
mkdir -p /usr/local/tomcat/webapps/svn
3.创建svn版本库
创建
svnadmin create /usr/local/tomcat/webapps/svn/report

进入版本库
cd /usr/local/tomcat/webapps/svn/report

查看目录下文件
[root@qq report]# ls
conf  db  format  hooks  locks  README.txt
4. 进入conf目录下配置文件
进入目录
cd conf/

查看文件
[root@qq conf]# ls
authz  passwd  svnserve.conf


authz :文件是权限控制文件
passwd :是帐号密码文件
svnserve.conf : SVN服务配置文件
5.设置配置passwd 如:用户名=密码
[users]
test = test111
6.配置authz文件,设置用户权限 rw是拥有读写权限(注:一定要顶格写):
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
test = test

[/] 
test = rw 

[/adminfile] 
@test= rw
7.配置svnserve.conf
anon-access = read    #匿名用户可读
auth-access = write    #授权用户可写
password-db = passwd    #使用哪个文件作为账号文件
authz-db = authz        #使用哪个文件作为权限文件
realm =/usr/local/tomcat/webapps/svn/report   #认证空间名,版本库所在目录
8.启动svn
#启动
svnserve -d -r /usr/local/tomcat/webapps/svn/
#检查svn是否启动成功,查看进程
ps -ef |grep svnserve
9.检出
svn co svn://ip/report   
回车之后会出现:
-------------------------------
“root”密码:这里没有设置直接回车继续到
用户名:test
“test”的密码:test

保存未加密的密码(yes/no):yes
最后提示:
取出版本:0
--------------------------------------
10.用户端连接
svn://ip/report   

二、实现用户上传SVN服务自动更新(Web项目直接刷新页面更新)

在版本库中找到hooks文件,复制文件 post-commit.tmpl 并改名位 post-commit

#进入目录
cd /usr/local/tomcat/webapps/svn/report/hooks
#复制
cp post-commit.tmpl post-commit
#修改post-commit 文件
vim  post-commit
#-------已下为文件内容--------------
#!/bin/sh
export LANG="zh_CN.UTF-8"
REPOS="$1"
REV="$2"
SVN_PATH=/usr/bin/svn
WEB_PATH=/usr/local/tomcat/webapps/report/
$SVN_PATH update $WEB_PATH --username test--password test--no-auth-cache
#--------------------------------------------
#保存之后给 post-commit 执行权限
chmod -x post-commit 

到这已经实现了自动更新,就到网页通过tomcat访问到版本库中最新的项目了

你可能感兴趣的:(CentOS 7 环境下部署Tomcat + SVN 实现自动更新)