linux svn 创建目录权限,Linux下创建SVN

1. 前提已安装svn

安装:yum install subversion

查看版本:svnserve --version

2. 创建新的svn项目

假设安装的目录地址:/www/svn

1)进入到该目录

2)创建:svnadmin create /www/svn/test (test为测试目录)

3)进入到新的项目的conf目录下:cd /www/svn/test/conf

4)修改passwd文件:vi passwd

创建账号 = 密码

[users]

#harry = harryssecret

#sally = sallyssecret

wangjz = wangjz

5) 修改authz 文件 (添加项目权限配置)vi authz

例如:[文件名:/]

账号 = 读写

[test :/]

wangjz = rw

多个用户

[groups]

php = wangjz,wangjz1,wangjz2

[test:/]

@php = rw

6)修改svnserve.conf 文件;vi svnserve.conf

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz

7)停止svn

killall svnserve

8)启动svn项目

svnserve -d -r /www/svn/

加端口启动:svnserve -d -r /www/svn/test --listen-port 3691

查看svn进程 ps aux|grep svn

9)实时检出到指定文件夹,需要进入hooks文件夹里新建文件post-commit

内容如下:

#!/bin/bash

# description:用于实时检出的钩子

# 基本变量

export LANG=en_US.UTF-8

dateTime=`date +%F`

dateTimeMinute=`date +%H%M%S`

binSvn=/usr/bin/svn # 你svn的绝对路径

dirHtmlApp=/www/vhost/src #检出的web站点根目录

logFileName=/tmp/svn/svnhooks_${dateTime}.log

# svn配置

REPOS="$1"

REV="$2"

# 检出或者更新subversion,钩子的核心功能

echo "-- $dateTimeMinute" >> $logFileName

if [ ! -d $dirHtmlApp/.svn ]; then

# 检出SVN

echo "$binSvn co file://$REPOS/ $dirHtmlApp" >> $logFileName

$binSvn co file://$REPOS/ $dirHtmlApp

if [ $? -eq 0 ]; then

echo "checkout ok" >> $logFileName

else

echo "checkout error" >> $logFileName

fi

else

# 更新svn

echo " $binSvn up $REV $dirHtmlApp " >> $logFileName

$binSvn up $REV $dirHtmlApp >> $logFileName

if [ $? -eq 0 ]; then

echo " update sucess " >> $logFileName

else

echo " update fial " >> $logFileName

fi

fi

echo "--" >> $logFileName

给文件添加执行权限

chmod a+x /www/svn/test/hooks/post-commit

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值