1.查看yum是否安装
在终端中输入yum即可如果已经安装,会显示yum的参数,如果没有安装,会提示yum未安装或无效命令……
2.安装svn
yum -y install subversion
出现下面截图后,表示安装完成。
3.创建目录并配置
建立版本库目录(repo为要创建的版本库名称,可自定义)
mkdir -p /data/svn/repo
配置
svnadmin create /data/svn/repo
执行上面的命令后,自动建立repo测试库,查看/data/svn/repo 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
4.用户密码passwd配置
cd /data/svn/repo/conf
vi passwd
修改passwd为以下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
hello=123
用户名=密码
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
这样我们就建立了hello用户, 123密码
5.权限控制authz配置
vi authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
请别落下[/]
#设置[/]代表根目录下所有的资源 或者写成[repl:/]
[/]
hello = rw
意思是hello用户对repo测试库下所有的目录有读写权限,当然也可以限定。 如果是自己用,就直接是读写吧。
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
6.服务svnserve.conf配置
vi svnserve.conf
追加以下内容:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/data/svn/repositories
7.防火墙开启
/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
8.启动svn服务器
svnserve -d -r /data/svn/
9.访问
在windows客户端,输入地址:svn://ip地址:3690/repo(iP地址为你linux的ip,repo为前文创建的版本库名称,3690为svn默认端口)
端口默认为3690,输入配置好的用户名和密码即可。
如果连接不上可能是服务器端口没开启
请 ping 3690端口确认是否通畅
10.其他命令
# 查看占用端口的进程
lsof -i:3690
# 关闭进程 21882
kill -9 进程号(上一步查到的pid)
#启动SVN (多个版本库) /data/svn 是svn 安装位置
svnserve -d -r /data/svn
11.svn代码同步到项目中
# 手动更新
svn co svn://ip地址:3690/库名 同步的地址 --username 用户名 --password 密码
# 示例
svn co svn://127.0.0.1:3690/repo /www/wwwroot/repo --username hello --password 123
1.使用post-commit 实现同步代码
代码同步需要使用到hooks文件目录下的post-commit勾子文件,在hooks下很多tmpl文件,这些文件都是勾子的模板来的,
如果需要使用的时候copy 一份去掉.tmpl后缀便可使用
# 先移动到这个文件夹,再改名
cd /data/svn/repo/hooks/
cp post-commit.tmpl post-commit
# 设置post-commit 文件的权限 切记这步一定不可漏,不然后期运行时会报错
chmod 777 post-commit
这样就会生成一个有效的post-commit 文件,文本改成下面的样式
#!/bin/sh
# 上边这个不是注释,必须带上,我之前在这里踩坑,以为是注释内容没带上
# 其实是linux用于指定由哪个解释器来执行脚本的标记
REPOS="$1"
REV="$2"
mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
# 项目版本库地址
BASEPATH=/www/wwwroot/repo
WEBPATH="$BASEPATH/"
export LANG=zh_CN.UTF-8
# 账号 hello 密码 123
svn update $WEBPATH --username hello --password 123 --no-auth-cache
最后操作是关闭服务然再打开服务,请参考上方其他命令重启svn服务
电脑端SVN地址:
https://pan.baidu.com/s/1kBjFWJCGCSuHqvlRR8fkIQ?pwd=kj73
文章来源
原文地址:https://www.freesion.com/article/711642592/
原文地址:https://www.runoob.com/w3cnote/linux-subversion-yum.html
原文地址https://blog.csdn.net/baixiaoshengaaa/article/details/108866038