Centos7下搭建SVN服务,本地提交代码自动同步到WEB目录

摘要:
1.安装SVN服务[root@bogon~]#Yum yinstallsubversion2。查看svnserve安装目录[root@bogon~]#where issvnservesvnserve:侦听一次模式(usefulfordebuging)-r[-root]ARG:

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目录》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇jQuery----分页插件实现Modbus协议栈综合实例设计下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

数字证书在web应用中实现登陆

1数字证书登录认证的优点 作为企业信息系统的第一道大门,身份认证是确保企业信息资源只能被合法用户所访问的重要保障。 传统的口令认证方式虽然简单,但是由于其易受到窃听、重放等攻击的安全缺陷,使其已无法满足当前复杂网络环境下的安全认证需求。 传统账号+口令登录的弊端: 1.         口令易被猜测。由于有的用户为了方便记忆,使用非常简单的口令,比如“12...

Azure DevOps Pipelines执行RobotFramework自动化测试

一、Azure DevOps介绍 1.什么是 Azure DevOps? Azure DevOps其实是VSTS(Visual Studio Team Service)更名后的名字。而VSTS是TFS(Team Foundation Server)的在线版本。所以Azure DevOps可以理解为是放在Azure云上的TFS,当然我们既可以使用在Azure...

SpringSecurity中的授权

一.定义   所谓的授权,就是用户如果要访问某一个资源,我们要去检查用户是否具备这样的权限,如果具备就允许访问,如果不具备,则不允许访问。 二.准备测试用户(由于没有连接数据库)   1.基于内存配置测试用户      @Override protected void configure(AuthenticationManagerBuilder auth)...

各种数据库的批量插入操作_Oracle

最近工作中需要优化以前各种的Excel批量导入功能,目前将能优化的方面做个记录。 选用技术:   目前.Net可以访问Oracle常用的Dll,有三种: 微软自带的 System.Data.OracleClient Oracle 公司提供的 Oracle.DataAccess System.Data.OleDb  通过比对以后,使用第二种,其原因如下:...

Java从入门到精通——数据库篇之OJDBC版本区别

   classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别,之间的差异    在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle  JDBC驱动来解决的?最常使用的ojdbc14.jar有多个版本,classes12.jar有多个版本你了解吗?   连接类型:1、JDBC O...

go包管理之glide

go语言的包是没有中央库来统一管理的,通过使用go get命令从远程代码库(github.com,goolge code 等)拉取,直接跳过中央版本库的约束,让代码的拉取直接基于源代码版本控制库,开发者间的协同直接依赖于源代码的版本控制。直接去除了库版本的概念。没有明显的包版本标识,感觉还是有点不适应,官方的建议是把外部依赖的代码全部复制到自己可控的源代码...