YII2开发环境版本控制 – 安装SVN

在开发的过程当中,咱们须要使用 svn进行版本控制。html

1.web

yum install subversion数据库

svnserve --version
查看具体的版本信息,若是有结果,则表明SVN安装成功。vim

  1. 建立路径:

/home/svn/repo
#建立仓库
svnadmin create /home/svn/repo
3.进行配置:服务器

vim /home/svn/repo/conf/svnserve.confapp

[general]
anon-access = none //匿名访问的权限,设置为none表示为不容许,默认是read
auth-access = write //能够是read,write,none,默认是write
password-db = passwd //密码数据库的路径,去掉前面的#
authz-db = authz
4.配置svn的密码文件:tcp

vim /home/svn/repo/conf/passwd
[user]
username = passwd
上面的例子为填写用户名和密码,若是是water 密码为888888ide

[user]
water = 888888
配置文件 /home/svn/repo/conf/authzsvn

[groups]
[/]
terry = rw
#表明terry 这个帐户对应的路径为根目录,对根目录下的全部文件和文件夹有读写的权限
[/magento]
terry = r
#表明terry这个帐户对应的路径是magento文件夹,在这个目录下的文件只有读的权限
[/magento/app/etc/local.xml]
terry =
#表明terry对上面这个文件不可见。即:不可读,不可写
设置可读工具

vim /home/svn/repo/conf/svnserve.conf
anon-access = none
设置完成后,关闭svn,重启

关闭svn: killall svnserve
启动svn: svnserve -d -r /home/svn/repo --listen-host ip地址
开放端口:

/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
/etc/rc.d/init.d/iptables save

通过了4步骤,咱们建立了帐户,设置了帐户的权限,当咱们用svn工具访问svn://ip地址,就能够访问了。

在本地能够经过上传文件到svn服务器

咱们想要的是svn中提交的文件,复制到服务器的web路径中,因此咱们须要把svn中的数据提交到web路径

这里咱们使用的命令式svn up,强制提交:svn up –force

首先咱们须要先设置,把svn中的路径,对应的web目录

譬如:svn://192.168.1.12/magento 对应到/www/web/come/public_html,咱们的配置为

svn co svn://192.168.1.12/magento /www/web/come/public_html

而后须要输入root密码,
而后须要输入提交帐户,这个帐户就是svn的在上面配置文件中添加的帐户,
更改svn up 帐户命令:svn co --username xxx svn://192.168.1.12/magento

6

若是svn up 报错:

Skipped ‘.’

须要到输出的路径下,譬如到/www/web/come/public_html下面svn up 就能够了

7

开机启动svn

vi /etc/rc.local
在最后一行加入:
svnserve -d -r /home/svn/repo

8

自动更新,不须要svn up

svn co svn://115.29.18.29/erp /www/web/

在SVN 项目版本库的存储目录下的hooks 目录,新创建一个post-commit文件:

vi /home/svn/repo/hooks/post-commit

touch /home/svn/repo/hooks/svn_hook.log
chmod 777 -R /home/svn/repo/hooks/svn_hook.log
#!/bin/sh
REPOS="$1"
REV="$2"
WEB=/www/web
export LANG=en_US.UTF-8
echo whoami,$REPOS,$REV >> /home/svn/repo/hooks/svn_hook.log
svn update $WEB
保存,退出。
权限:chmod 777 post-commit

测试,看脚本是否有权限问题:

复制代码 代码示例:

./post-commit

之后每次客户端提交操做,就会自动运行该脚本。

相关文章
相关标签/搜索