Centos7下搭建SVN服务,本地提交代码自动同步到WEB目录
1、安装SVN服务
[root@bogon ~]# yum -y install subversion
2、查看svnserve安装目录
[root@bogon ~]# whereis svnserve
svnserve: /usr/bin/svnserve /usr/share/man/man8/svnserve.8.gz
3、查看是否安装成功,如果出现以下提示则安装成功
[root@bogon ~]# svnserve -h
usage: svnserve [-d | -i | -t | -X] [options]
Valid options:
-d [--daemon] : daemon mode
-i [--inetd] : inetd mode
-t [--tunnel] : tunnel mode
-X [--listen-once] : listen-once mode (useful for debugging)
-r [--root] ARG : root of directory to serve
-R [--read-only] : force read only, overriding repository config file
--config-file ARG : read configuration from file ARG
--listen-port ARG : listen port
....
4、创建版本库
[root@bogon /]# vi /etc/sysconfig/svnserve
# OPTIONS is used to pass command-line arguments to svnserve.
#
# Specify the repository location in -r parameter:
OPTIONS="-r /var/svn" #默认版本库位置
4.1)[root@bogon /]# mkdir /var/svn #可自定义目录
4.2)[root@bogon /]# svnadmin create /var/svn/ushark.net
5、配置
5.1)新增用户
[root@bogon /]# vi /var/svn/ushark.net/conf/passwd
[users]
# harry = harryssecret
# sally = sallyssecret
#
ushark = www.ushark.net #用户名=用户密码
5.2)编辑用户权限
[root@bogon /]# vi /var/svn/ushark.net/conf/authz
[/]
ushark = rw #授予ushark用户对根目录的读写权限,也可指定子目录
5.3)编辑svnserve.conf
[root@bogon /]# vi /var/svn/ushark.net/conf/svnserve.conf
anon-access = none #控制非鉴权用户访问版本库的权限
auth-access = write #控制鉴权用户访问版本库的权限
password-db = passwd #指定用户名口令文件名
authz-db = authz #指定权限配置文件名
realm = ushark.net #指定版本库的认证域,即在登录时提示的认证域名称
!!! 以上五项不仅要去掉前面的#号,而且还要删除前面的空格,不然会报 “xxxxx: Option expected”错误 !!!
6、启动SVN
[root@bogon /]# systemctl start svnserve.service
7、设置开机自启
[root@bogon /]# systemctl enable svnserve
8、查看SVN端口,并设置防火墙开放其端口
[root@bogon /]# ss -tnlp | grep svnserve
LISTEN 0 7 *:3690 *:* users:(("svnserve",pid=1869,fd=3))
[root@bogon /]# firewall-cmd --permanent --add-service=telnet
[root@bogon /]# firewall-cmd --permanent --add-port=3690/tcp
[root@bogon /]# firewall-cmd --reload
9、解决SVN报“xxxxx: permission denied”错误
[root@bogon /]# systemctl stop svnserve.service
[root@bogon /]# killall svnserve
[root@bogon /]# svnserve -d -r /var/svn/ #以root用户运行
10、在win10下载安装TortoiseSVN
checkout时填写的url: svn://www.ushark.net/ushark.net #svn://your/server/addr/版本库名
认证用户名:ushark
认证密码:www.ushark.net
11、提交代码自动同步到WEB服务目录
[root@bogon html]# cp /var/svn/ushark.net/hooks/post-commit.tmpl /var/svn/ushark.net/hooks/post-commit
[root@bogon html]# vi /var/svn/ushark.net/hooks/post-commit
!!!把文件里所有行注释掉,添加如下关键代码:!!!
cd /LNMP/nginx/html
svn co file:///var/svn/ushark.net/ #checkout本地svn版本库, 如果WEB服务与SVN服务不在同一主机,则用http://svn/url/svn_name
svn cleanup
svn up /LNMP/nginx/html/ushark.net/ --username ushark --password 123456 --no-auth-cache
Centos7下搭建SVN服务,本地提交代码自动同步到WEB目录的更多相关文章
- CentOS7下安装SVN服务端
CentOS7下安装SVN服务 1. yum命令即可方便的完成安装# sudo yum install subversion 测试安装是否成功:# svnserve --version 更改svn的默 ...
- CentOS 创建SVN 服务器,并且自动同步到WEB 目录
CentOS 创建SVN 服务器,并且自动同步到WEB 目录 标签: centossvnsubversion服务器 2013-12-06 10:09 5492人阅读 评论(0) 收藏 举报 分类: ...
- 如何在linux下搭建svn服务
• 安装svn 使用命令 yum install subversion 如果提示上述错误,请以管理员身份运行 使用命令su root 再执行 yum install subversion 2,查看sv ...
- 【LINUX】SVN 代码提交之后。同步到web目录下
1 当你使用svn在成功提交一个新版本的时候,svn仓库目录下的hook文件夹下的post-commit脚本会运行 用shell写一个脚本,在提交完版本后,自动在web目录运行一下svn updat ...
- svn提交自动同步到web目录
环境:CentOS6.5 测试线 svn和web服务器在同一台机器上 SVN版本1.6 情景:在测试环境下,开发部提出希望提交到SVN的代码能自动同步到WEB站点目录下,解决每次都要传双份这 ...
- Linux下搭建svn服务端
安装 使用yum安装非常简单: yum -y install subversion (压缩包安装比这麻烦的多) Tortoise本是window下客户端工具,但也可以建仓库,作为服务端.Linux只有 ...
- LNMP环境下搭建SVN服务
最近自己买了个服务器,试着在上面搭建了LNMP环境,因为以前在本地用MAMP Pro搭建过LAMP环境,所以基本上还算是轻车熟路,第一次搭建LNMP,使用的是一键安装,过程是顺利的,后来在使用过程中遇 ...
- CentOS7下搭建SVN服务器
(1).安装SVN 1)安装SVN [root@youxi1 ~]# yum -y install subversion mod_dav_svn [root@youxi1 ~]# cat /etc/s ...
- windows下搭建svn服务端、客户端
1.安装SVN服务器subversion以及客户端TortoiseSVN,在网上下载windows版的subversion,TortoiseSVN并安装,比如我的服务端安装在了D:\Program F ...
随机推荐
- 从一个集合中查找最大最小的N个元素——Python heapq 堆数据结构
Top N问题在搜索引擎.推荐系统领域应用很广, 如果用我们较为常见的语言,如C.C++.Java等,代码量至少也得五行,但是用Python的话,只用一个函数就能搞定,只需引入heapq(堆队列)这个 ...
- Liferay7 BPM门户开发之4: Activiti事件处理和监听Event handlers
事件机制从Activiti 5.15开始引入,这非常棒,他可以让你实现委托. 可以通过配置添加事件监听器,也可以通过Runtime API加入注册事件. 所有的事件参数子类型都来自org.activi ...
- Xamarin.Android 使用SoundPool进行音频播放
一.引入命名空间 using Android.Media; 二.声明变量 SoundPool soundPool; int soundPoolId; 三.实例化对象 soundPool = new S ...
- Json数据中同字段不同数据类型的解析
当解析Json数据时,如果碰到同字段不同数据类型的情况,如何处理呢?比如: [ { "code": 1, "data": 33 }, { "code& ...
- JQ获取CKeditor的值
var editor = CKEDITOR.replace("content"); editor.setData(""); alert(CKEDITOR.ins ...
- SQL 必知必会·笔记<13>插入数据
INSERT 用来将行插入(或添加)到数据库表.插入有几种方式: 插入完整的行: 插入行的一部分: 插入某些查询的结果. 1.1 插入完整的行 存储到表中每一列的数据在VALUES 子句中给出,必须给 ...
- 使用commit方式构建具有sshd服务的centos镜像
一般我们是通过SSH服务来管理服务器的,但是现在很多Docker镜像不带SSH服务,那我们该如何来管理这些容器呢?现在我们通常使用attach和nsenter工具.但是都无法解决远程管理容器的问题,当 ...
- lua脚本在游戏中的应用
为什么要在游戏中使用脚本语言? 要解释这个问题首先我们先来了解一下脚本语言的特性: 学习门槛低,快速上手 开发成本低,可维护性强 动态语言,灵活性高 相对于C/C++这类高复杂性.高风险的编译型语言来 ...
- Struts的FormFile与Commons-FileUpload控件使用心得
转自: http://www.iteye.com/topic/212566 前一段时间刚来公司,看到一个项目中以前有人写的struts代码.是使用了FormFile来处理关于文件上传的模块.但是用力一 ...
- 一文揭秘定时任务调度框架quartz
之前写过quartz或者引用过quartz的一些文章,有很多人给我发消息问quartz的相关问题, quartz 报错:java.lang.classNotFoundException quartz源 ...