1、安装 SVN 服务端
Subversion 是一个版本控制系统,相对于的 RCS 、 CVS ,采用了分支管理系统,它的设计目标就是取代 CVS 。
yum install -y subversion
2、创建 SVN 版本库
2.1创建项目版本库
mkdir -p /data/svn/test
svnadmin create /data/svn/test
3、配置 SVN 信息
配置文件简介
版本库中的配置目录
conf 有三个文件:
- authz 是权限控制文件
- passwd 是帐号密码文件
- svnserve.conf 是SVN服务综合配置文件
3.1配置权限配置文件 authz
编辑 authz ,内容参考如下:
[groups] #用户组 admin = ,test #用户组所对应的用户 [/] #库目录权限 @admin = rw #用户组权限 *=r #非用户组权限
3.2配置账号密码文件 passwd
编辑 passwd ,内容参考如下:
[users] # harry = harryssecret # sally = sallyssecret test = 123456
3.3配置 SVN 服务综合配置文件 svnserve.conf
编辑 svnserve.conf ,内容参考如下:
[general] # force-username-case = none # 匿名访问的权限 可以是read、write,none,默认为read anon-access = none #使授权用户有写权限 auth-access = write #密码数据库的路径 password-db = passwd #访问控制文件 authz-db = authz #认证命名空间,SVN会在认证提示里显示,并且作为凭证缓存的关键字 realm = /data/svn/test [sasl]
4、启动 SVN 服务
4.1启动 SVN
svnserve -d -r /data/svn
4.2checkout SVN项目
mkdir -p /data/workspace/test svn co svn://127.0.0.1/test /data/workspace/test--username test--password 123456 --force --no-auth-cache
4.3提交文件到 SVN 服务器
从本地提交文件到 SVN 服务器,其中
root
密码为
/data/svn/myproject/conf/passwd
文件存储的密码
cd /data/workspace/test echo test >> test.txt svn add test.txt svn commit test.txt -m 'test'
提交成功后可以通过如下命令从本地项目删除文件
cd /data/workspace/test
rm -rf test.txt
删除后可以通过 SVN 服务器恢复
cd /data/workspace/test
svn update
注:如果在外网更新不了,请查看服务器是否开放3690,svn服务器默认使用3690
svn钩子(hooks)自动部署代码到test目录
进入/data/svn/test/hooks
复制一份 post-commit
cp post-commit.tmpl post-commit
编辑post-commit
#!/bin/sh REPOS="$1" REV="$2" DIR="/data/workspace/test"
export LANG=en_US.UTF-8
CURDATE='date'
echo "Code Deployed By at $CURDATE,$REPOS,$REV" >> /svn/code_deploy.log
svn update $DIR --username test--password 123456
最后post-commit添加执行权限
chmod +x post-commit
扫二维码,关注更多PHP资讯!