最近和小伙伴在自己开发项目,需要上传代码,我们还用的传统的SVN,所以,写一篇搭建SVN环境的流程。
1.先从云服务提供商安装:yum install -y subversion
2.创建项目版本库:
mkdir -p /data/svn/myproject
svnadmin create /data/svn/myproject
3.配置SVN的相关文件
版本库中的配置目录 conf 有三个文件:
authz 是权限控制文件
passwd 是帐号密码文件
svnserve.conf 是SVN服务综合配置文件
4.配置SVN相关文件
⑴用vi命令设置authz 权限控制文件内容:
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
改为:
[groups]
#用户组
admin = admin,root,test
#用户组所对应的用户
[/]
#库目录权限
@admin = rw
#用户组权限
*=r
#非用户组权限
⑵同理更改passwd 账号文件
[users]
# harry = harryssecret
# sally = sallyssecret
admin = 123456
root = 123456
test = 123456
⑶同理更改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/myproject
[sasl]
5.启动SVN服务
svnserve -d -r /data/svn
6.checkout SVN项目
mkdir -p /data/workspace/myproject
svn co svn://127.0.0.1/myproject /data/workspace/myproject --username root --password 123456 --force --no-auth-cache
从本地提交文件到 SVN 服务器,其中 root 密码为 /data/svn/myproject/conf/passwd 文件存储的密码
cd /data/workspace/myproject
echo test >> test.txt
svn add test.txt
svn commit test.txt -m 'test'
7.对SVN的相关操作
⑴提交成功后可以通过如下命令从本地项目删除文件
cd /data/workspace/myproject
rm -rf test.txt
⑵删除后可以通过 SVN 服务器恢复
cd /data/workspace/myproject
svn update