linux下搭建svn并同步更新至web目录
安装svn
使用yum安装
yum install subversion -y
安装成功后查看版本库
svnserve --version
生成目录
cd /var
mkdir svn
cd svn
创建版本库
svnadmin create /var/svn/project
cd project
查看目录下的所有文件
ls -a
README.txt conf db format hooks locks
cd conf
进入版本配置目录conf,此目录下有authz passwd svnserve.conf三个文件
vi authz //添加用户组并使用户组具有读写权限
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
用户组名 = 用户名1,用户名2 //添加用户组,并设置用户组下的用户,用户名之间用 , 隔开
[project:/] // 版本库名:/
@用户组名 = rw //添加用户组读写权限
vi passwd //配置用户以及密码
[users]
# harry = harryssecret
# sally = sallyssecret
用户名1 = 用户名1的密码
用户名2 = 用户名2的密码
vi svnserve.conf //配置SVN服务综合配置文件svnserve.conf
//找到以下配置项,将前面的#号去掉,然后做相应的配置
anon-access = none//匿名用户访问权限:无
auth-access = write //普通用户访问权限:读、写
password-db = passwd //密码文件
authz-db = authz //权限配置文件
realm = /var/svn/project //版本库所在
启动svn
svnserve -d -r /var/svn
如果提示
svnserve: E000098: Can't bind server socket: Address already in use //此时svn已经启动
重启svn
//查看svn服务详情
ps aux | grep svn //将svn服务强制停止 其中790为svn服务的ID号,-9是kill的参数
kill -9 790
或者使用 ps -ef|grep svn //查看svn进程
kill 进程号
还有 killall svnserve //结束svn所有进程
测试svn服务
mkdir /home/www
cd /home/www
svn co svn://服务器ip地址/project /home/www //回车后,此时可能会提示密码验证,先填写服务器用户名和密码,后面是svn用户名和密码
如果现实Checked out revision 1.则表示成功
我们添加新文件来测试是否提交成功
cd /home/www
touch index.php
svn add index.php //成功的话会显示 A index.php
svn commit index.php -m "测试提交文件"
假如最后提示:
Adding index.php
Transmitting file data .
Committed revision 2.
则表示我们svn服务器搭建成功!文件已经能够推送了。
本地拉取服务器上的版本库(本地window)
右键检出
按照如图所示地址拉取,点击确定后再输入用户名和密码即可
最后,本地推送到svn并同步更新至web目录
cd /var/svn/project/hooks
vi post-commit
//在该文件里添加如下代码,保存
#!/bin/sh #设定环境变量,如果没有设定可能会出现update报错
#设定语言,根据系统语言设置,如果是GBK就设置为 LANG=zh_CN.GBK
export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn //这里不用改
WEB_PATH=/home/www //web目录,如果你的不同,可以改
//这里的用户随便一个就好
$SVN_PATH update $WEB_PATH --username '用户名' --password '密码' --no-auth-cache
//修改post-commit权限
chmod 755 post-commit
在本地检出时,如果不能连接svn可能是3690端口未开放
firewall-cmd --zone=public --add-port=3690/tcp --permanent
systemctl restart firewalld //重启firewall防火墙
linux下搭建svn并同步更新至web目录的更多相关文章
- linux下搭建svn本地服务器
在linux下搭建svn本地服务器可以很好的管理自己的代码,具体过程如下: # mkdir svn_local # cd svn_local # svnadmin create led_diplay ...
- Linux下搭建SVN服务器及自动更新项目文件到web目录(www)的方法
首先搭建SVN服务器 1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion ...
- 如何在linux下搭建svn服务
• 安装svn 使用命令 yum install subversion 如果提示上述错误,请以管理员身份运行 使用命令su root 再执行 yum install subversion 2,查看sv ...
- linux下搭建SVN服务器完全手册
原文:http://www.cnblogs.com/wrmfw/archive/2011/09/08/2170465.html 系统环境 RHEL5.4最小化安装(关iptables,关 ...
- linux下搭建SVN服务器完全手册【转】
转自:http://blog.csdn.net/bullbat/article/details/9115559 系统环境 RHEL5.4最小化安装(关iptables,关selinux) ...
- 在Linux下搭建SVN服务器
svn不仅仅可以用于程序开发,还可以做很多事情,例如备份文档. CentOS下:安装 这样同一台服务器便可以运行多个svnserver了 检查端口 注:如果修改了svn配置,需要重启svn服务 -j ...
- linux下搭建SVN服务器完全手册【摘抄】
系统环境 RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum 一,安装必须的软件包. yum install subversion ( ...
- linux下搭建SVN服务器完全手册-很强大!!!!!
系统环境 RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum 一,安装必须的软件包. yum install subversion ( ...
- linux下搭建SVN
官网下载: http://subversion.apache.org/packages.html SVN客户端:TortoiseSVN :https://tortoisesvn.net/downl ...
随机推荐
- 07. 如何实现移动端rem适配
如何实现移动端rem适配 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 弃用serv-u,改用 Xlight FTP
Serv-u 强大,设置也较麻烦一点,针对serv-u的攻击也很丰富.试用期只有一个月,破解版的用着也不放心 Xlight FTP 设置简单,个人版免费使用,感觉良好!
- 让函数的input、output更"函数化"
前言 我们都知道函数的基本形式为:output f(input),且先按这种形式进行input与output的分析,我们的input与output可以有更好的设计方式,而我们的output是选择使用r ...
- C#校验手机端或客户端
以下代码用来检查,客户端是手机端还是PC端 string strUserAgent = Request.UserAgent.ToString().ToLower(); bool isMobile = ...
- HMAC算法加密
/** * HMAC算法加密 * @param message 待加密信息 * @param key 密钥 * @return */ public static String HmacSHA256(b ...
- NETSpider 网络蜘蛛采集工具
NETSpider网站数据采集软件是一款基于.Net平台的开源软件.软件部分功能是基本Soukey软件进行开发的.这个版本采用VS2010+.NET3.5进行开发的.NETSpider采摘当前提供的主 ...
- Go语言基础之17--Redis基本操作
一.介绍与连接 1.1 介绍 使用第三方的redis库, github.com/garyburd/redigo/redis github地址:https://github.com/gomodule/r ...
- 基于spring boot 和MDC实现 同一笔记录的日志跟踪实现--1.filter
同一个项目中,一般包含controller/servlet.service.dao等.1笔记录的日志贯穿于controller.service.dao中,在并发情况下,那如何找出该笔日志? 可通过以下 ...
- c++判断两字符串是否相等
正确写法: 头文件: #include<string.h> if(strcmp(str.c_str(),str1.c_str())==0) 注意:以下写法在提交到 vj 全是错 if(st ...
- thinkPHP 全局函数
M函数 TP的Model父类,封装的功能比较多,增删改查操作都具备.一些表,比如留言表,comment class CommentModel extends Model { } M('comment' ...