linux svn配置hooks

先创建仓库:

svnadmin create /data/svn/my.com

再配置权限:

#cd /data/svn/my.com/conf/

#vim svnserve.conf 配置

[general]
anon-access = none # 使非授权用户无法访问 
auth-access = write # 使授权用户有写权限
password-db = /data/svn/repos/100med.com.cn/conf/passwd # 指明密码文件路径 
authz-db = authz # 访问控制文件
realm = My First Repository # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。 

#vim authz 配置访问目录权限 

#分组配置
[groups]  
RD = codesvn
PP = CHINA

[/data]
@PP =rw 
#根目录权限,只有RD组则有权限访问
[/]
@RD = rw
* =

#vim passwd 配置用户和密码

[users]
codesvn = ffdsafdsafsdfasdfasfs

配置勾子:

#cd /data/svn/my.com/hooks/

#cp post-commit.tmpl post-commit

#chmod +x post-commit #给执行权限

#!/bin/sh
svn update --username codesvn --password xxxxxxxxxxxxxxx /data/wwwroot/my.com/ 2>>/data/logs/svn/my.com_post_commit_log.txt

再迁出一份:(非常重要,让勾子知道是哪个目录)

svn co svn://ip/my.com/ /data/wwwroot/my.com/

重启svnserve

#killall svnserve

#svnserve -d -r /data/svn/ 

-d 为守护进程

-r svn仓库目录


 

 常见问题:

1.设置了hooks不自动更新代码?

首先,查看日志,多数原因可能是因为编码问题。(export LANG=en_US.UTF-8)

参考代码:

#!/bin/sh
REPOS="$1"
REV="$2"
log_path=/data/logs/svn.my.log
export LANG=en_US.UTF-8
echo `whoami`,$REPOS,$REV >> $log_path
svn update --username svnname--password 1e26cd8217 /data/wwwroot/sgfoot.com/ 2>>$log_path --no-auth-cache
exit 0

 

转载于:https://www.cnblogs.com/300js/p/6243927.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置Linux上的SVN,您可以按照以下步骤进行操作: 1. 首先,安装Subversion软件包,可以使用以下命令进行安装:yum install subversion 2. 安装成功后,您可以使用以下命令验证安装是否成功:svnserve --version 3. 接下来,创建一个目录来存储您的SVN仓库:mkdir /path/to/repository 4. 通过以下命令初始化仓库:svnadmin create /path/to/repository 5. 编辑svnserve.conf文件来配置SVN服务器:vi /path/to/repository/conf/svnserve.conf - 取消注释并设置anon-access为none,以禁止匿名访问 - 取消注释并设置auth-access为write,以允许用户写入权限 - 如果您希望用户通过用户名和密码进行身份验证,请取消注释并设置password-db为passwd文件的路径 - 如果您希望使用加密方式进行身份验证,请取消注释并设置authz-db为authz文件的路径 6. 编辑passwd文件来添加SVN用户:vi /path/to/repository/conf/passwd - 在文件中按照以下格式添加用户:username = password 7. 编辑authz文件来设置用户的访问权限:vi /path/to/repository/conf/authz - 您可以根据需要为用户和仓库设置不同的权限 8. 启动SVN服务器,使用以下命令:svnserve -d -r /path/to/repository 9. 您还可以将SVN服务器设置为在系统启动时自动运行,将以下命令添加到/etc/rc.d/rc.local文件中:/usr/bin/svnserve -d -r /path/to/repository - 确保在添加之前给脚本赋予执行权限:chmod 777 /path/to/svn.sh 10. 重新启动Linux服务器,使用以下命令验证SVN服务器是否已经启动成功:ps -ef | grep svnserve

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值