侧边栏壁纸
  • 累计撰写 123 篇文章
  • 累计创建 48 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
SVN

Linux安装SVN并配置钩子

田小晖
2020-05-29 / 0 评论 / 0 点赞 / 318 阅读 / 0 字 / 正在检测是否收录...

Linux安装SVN并配置钩子

1.检查是否安装了SVN

rpm -qa subversion

2.如果安装了执行这一步 没有则跳过

yum remove subversion

3.安装SVN

yum -y install subversion

4.查看安装版本

svnserve --version

5.建立本地文件权限库

mkdir -p /opt/svndata
svnadmin create /opt/svndata/public
  • 删除其他文件 只保留authz passwd两个文件

    1590742932181

  • 配置用户

    vim passwd
    
    #在users下按照提示添加用户名和密码
    [users]
    tianch = tianch123456
    
  • 配置权限

    vim authz
    
    # 在groups下配置仓库的用户权限 test是你创建的仓库
    [groups]
    [test:/]
    tianch = rw
    

6.创建代码库

svnadmin create /opt/svndata/test
#执行上面的命令后,自动建立svndata库,查看/opt/svndata/test 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立

1590742545238

7.配置代码库

  • 配置test仓库的用户和权限

    vim /opt/svndata/test/conf/svnserve.conf
    # 在general里新增下面两行 也可打开注释修改
    password-db = ../../public/passwd
    authz-db = ../../public/authz
    
    # 权限修改
    anon-access = none
    auth-access = write
    

8.启动SVN

svnserve -d -r /opt/svndata

9.停止和重启

pkill svnserve                #停止
svnserve -d -r /opt/svndata   #启动

10.测试

11.设置钩子自动更新

#建立web程序目录
mkdir -p /opt/webroot/test

#不重命名文件夹,直接在当前目录下检出
svn checkout svn://localhost/test 
#检出文件并且重命名文件夹
svn checkout svn://localhost/test test 

#进入项目库的 hooks目录 
cd /opt/svndata/test/hooks/
cp post-commit.tmpl post-commit

vim post-commit

#添加下面的脚本  路径 用户名和密码用你自己的
export LANG=zh_CN.UTF-8 #防止中文乱码
svn update /opt/webroot/test --username tianch --password tianch123456

#赋予post-commit脚本可执行权限 没权限会报错:post-commit hook failed (exit code 255) with no output
chmod 755 post-commit
博主关闭了所有页面的评论