Linux下配置SVN的bash脚本封装

在Linux服务上修改代码很麻烦,使用个版本工具会节省开发工具,有人说为啥不用Git而是选择SVN。因为平时写项目也就两三个人,代码量也比较小,本人比较懒,学东西也比较慢,对于Git的了解还比较初级。只需要这两个文件,在服务器上新搭建一个项目的时候,自动创建SVN服务器。


PHP代码:

system("./test.sh testsss 'ltc' 'ltc222' '/var/www/webroot'",$status);

echo $status;

bash脚本:

#!/bin/bash
#1.获取到传递过来的项目名称
name="$1"
#用户名
username="$2"
#密码
password="$3"
#apache项目目录(默认的为www)
path="$4"
#2.在svndata目录下新建一个仓库对应项目
svnadmin create  /var/www/svndata/$name
#3.配置用户登录需要的扩展,要修改配置文件,这里是修改文件,用sed命令
cd /var/www/svndata/$name/conf
sed -i.bak 's/# anon-access = read/anon-access=none/' svnserve.conf
sed -i.bak 's/# auth-access = write/auth-access=write/' svnserve.conf
sed -i.bak 's/# password-db = passwd/password-db=passwd/' svnserve.conf
#4添加用户密码,这里用的是追加操作,用echo命令
echo "$username=$password" >> passwd
#5.添加执行权限,第一行是文件路径,第二行是某个用户有哪些权限
echo "[/var/www/svndata/$name]" >> authz
echo "$username=rw" >> authz
#6关闭svn服务然后重启
killall svnserve
svnserve -d -r /var/www/svndata
#7.设置和web目录同步
svn co svn://localhost/"$name"  "$path"/"$name"
#8.修改权限为WEB用户
chown -R apache:apache "$path"/"$name"
#9.建立同步脚本,复制一份post-commit作为配置文件
cd /var/www/svndata/"$name"/hooks/
cp post-commit.tmpl post-commit
#10追加如下内容
BASEPATH=/var/www/webroot/"$name"
$WEBPATH="$BASEPATH/"
echo BASEPATH="$BASEPATH">> post-commit
echo WEBPATH="$BASEPATH/" >> post-commit
echo export LANG=zh_CN.UTF-8 >> post-commit
echo svn update $WEBPATH --username "$username" --password "$password" --no-auth-cache >> post-commit
#11 添加文件的可执行权限
chmod +x post-commit
#12 重启svn
killall svnserve
svnserve -d -r /var/www/svndata

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲不住的程序员

您的打赏将是我最大的鼓励感谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值