CentOS 7 环境下部署 SVN 并实现自动更新(版本库放在Tomcat下)
1、安装 SVN
1.1先检查是否有安装 svn
rpm -qa subversion #没有什么显示就说明没有安装过
yum remove subversion #如果有安装就运行删除老版本
yum install subversion #运行安装SVN
1.2创建SVN版本库(这里我们直接部署到Tomcat/webapps下,如果没有可以自行部署一个Tomcat)
mkdir -p /usr/local/tomcat/webapps/svn
1.3创建版本库
svnadmin create /usr/local/tomcat/webapps/svn/svnTest
完成此处之后会在该目录下生成以下目录文件

1.4在版本库的 conf目录下配置文件

authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件
1.5设置配置passwd 如:用户名=密码
[users]
test = test123
1.6配置authz文件,设置用户权限 rw是拥有读写权限(注:一定要顶格写):
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
test = test [/]
test = rw [/adminfile]
@test= rw
1.7配置svnserve.conf ,打开以下注释就好了
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm =/usr/local/tomcat/webapps/svn/svntest #认证空间名,版本库所在目录
1.8启动SVN
svnserve -d -r /usr/local/tomcat/webapps/svn/
检查svn是否启动成功,查看进程
ps -ef |grep svnserve
检查防火墙
#添加(--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=3690/tcp --permanent
#重新载入(svn默认3690端口)
firewall-cmd --reload
#查看
firewall-cmd --zone= public --query-port=3690/tcp
#或者之间关闭防火墙
systemctl stop firewalld.service
最好在检出
svn co svn://ip/svnTest
回车之后会出现:
“root”密码:这里没有设置直接回车继续到
用户名:test
“test”的密码:test123 保存未加密的密码(yes/no):yes
最后提示:
取出版本:0
用户端链接:
svn://ip/svnTest
二、实现用户上传SVN服务自动更新(Web项目直接刷新页面更新)
在版本库中找到hooks文件,复制文件 post-commit.tmpl 并改名位 post-commit
cd /usr/local/toncat/webapps/svn/svnTset/hooks cp post-commit.tmpl post-commit
将以下内容写进 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/svnTest/
$SVN_PATH update $WEB_PATH --username test--password test123--no-auth-cache
保存之后给 post-commit 执行权限
chmod -x post-commit
到这来就已经实现了自动更新,就到网页通过tomcat访问到版本库中最新的项目了
CentOS 7 环境下部署 SVN 并实现自动更新(版本库放在Tomcat下)的更多相关文章
- Linux下搭建SVN服务器及自动更新项目文件到web目录(www)的方法
首先搭建SVN服务器 1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion ...
- SVN+post-commit 搭建自动同步版本库
一.需求. 本地文件上传到测试环境svn,测试环境同步到生产环境rsync.开发环境与测试环境与生产环境分离. 二.搭建SVN服务器. yum -y install subversion && ...
- SVN跨服务器自动更新--实现文件分发
目标:SVN版本库提交,服务器中的工作拷贝能自动update. 实现方法:subversion, curl,php脚本实现,并且入mysql库来进行管理.改hosts文件来进行访问!提交触发钩子脚本时 ...
- 【转】SVN管理多个项目版本库
转载地址:http://blog.163.com/zhangxuemin_zy/blog/static/10178565520115704031799/ SVN管理多个项目版本库: 安装SVN服务 ...
- SVN管理多个项目版本库 (windows,linux 通用)
SVN管理多个项目版本库: . 安装SVN服务器软件,路径: C:\Program Files\Subversion . 在D盘创建svn根目录D:\SVN-CM . 在D:\SVN-CM下创建SVN ...
- spring boot不要放在tomcat下启动,因为自身就带了集成tomcat
spring boot不要放在tomcat下启动,因为自身就带了集成tomcat
- 解决Intellij Idea下修改jsp页面不自动更新
解决Intellij Idea下修改jsp页面不自动更新 On frame deactivation:被设置成了Do nothing 解决办法:改为Update resources(更新资源)或者Up ...
- Linux环境下部署svn服务详解
说明 环境: 操作系统:centos 8.0 IP:39.100.228.13 安装 用ROOT账号登录,在控制台执行以下命令,一直默认安装就好可以了. [root@localhost ~]#yum ...
- CentOS6.5下部署SVN
查看系统版本,安装SVN软件及创建目录 [root@A-linux ~]# uname -r 2.6.32-431.el6.x86_64 [root@A-linux ~]# cat /etc/redh ...
随机推荐
- gitblit 数据迁移(复制)
gitblit 数据迁移 完全拷贝方式: 将原服务器上的gitblit的安装目录.数据目录等相关目录拷到另一台服务器上即可,这样启动方式和使用端口及数据和原服务上的一模一样.(因为gitblit是不用 ...
- Android由出生年月日计算年龄(周岁)
先从String类型的出生日期(“yyyy-MM-dd”)中提取int类型的年.月.日:再计算岁数. 程序如下: /** * 根据出生日期计算年龄的工具类BirthdayToAgeUtil */ pu ...
- java jar 服务自启动存在的坑及解决办法
为了在服务器重启的时候,java程序能够自动重启,我们通常把它加到服务里面 ln -s /full/path/to/jar /etc/init.d/service_name # start servi ...
- maven 成长之路
1配置maven 环境变量 新建系统变量 M2_HOME :E:\apache-maven-3.5.2 在系统变量 path中添加 E:\apache-maven-3.5.2\bin 运行 mvn - ...
- Spring MVC集成Swagger2.0
在集成Swagger之前,得先说说什么是Swagger,它是用来做什么的,然后再讲讲怎么集成,怎么使用,当然,在这之前,需要了解一下OpenAPI. OpenAPI OpenAPI 3.0规范定义了一 ...
- Unity3D 协程 Coroutine
协程(Coroutine)的概念存在于很多编程语言,例如Lua.ruby等.而由于Unity3D是单线程的,因此它同样实现了协程机制来实现一些类似于多线程的功能,但是要明确一点协程不是进程或线程,其执 ...
- 11 ORA-8102:Index Corruption解析
11 ORA-8102:Index Corruption解析 [oracle@DSI ~]$ oerr ora 810208102, 00000, "index key not found, ...
- gitlab+jenkins 搭建
继前一篇gitlab,这一篇介绍jenkins搭建并与gitlab进行集成---这里不是详细的步骤 环境系统:centos 7.3 jenkins版本:jenkins-2.176.1-1.1.noar ...
- 【Spring】---属性注入
一.Spring注入属性(有参构造和[set方法]) 注意:在Spring框架中只支持set方法.有参构造方法这两种方法. 使用有参数构造方法注入属性(用的不多,但需要知道): 实体类 package ...
- Gradle之Gradle 的基本使用(一)
[Android 修炼手册]Gradle 篇 -- Gradle 的基本使用 预备知识 基本的 android 开发知识 了解 Android Studio 基本使用 看完本文可以达到什么程度 掌握 ...