<返回更多

Linux下配置SVN的bash脚本封装

2019-10-14    
加入收藏

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

Linux下配置SVN的bash脚本封装

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

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>