svn自动安装部署脚本

没事写了个svn的安装脚本,自动部署,最后checkout需要人工确认下即可完成 脚本还没测试,欢迎小白来试试。。。

#!/bin/bash
#author merci
#auto install svn for centos6.x
#svn根目录
SVNDIR='/data/svn'
#网站目录
WEBDIR='/data/www'

checkSVN=`rpm -qa | grep 'subversion'`
if [ ! $checkSVN ]
then
    yum install subversion -y
else
    echo -e "SVN already install !"
    exit 0
fi
read -p "Please input svn project folder !" projectdir
if [ -d "${SVNDIR}/${projectdir}" ]
then
    echo "Project folder is exist !"
    exit 0
else
    mkdir -p ${SVNDIR}/${projectdir}
    svnadmin create ${SVNDIR}/${projectdir}
fi
read -p "Please input svn username !" svnuser
read -p "Please input svn user password !" svnpassword
cat >> ${SVNDIR}/${projectdir}/conf/authz <<EOF
team=${svnuser}
[project:/]
@team=rw
EOF
sed -i 's/anon-access =/anon-access = none/g' ${SVNDIR}/${projectdir}/conf/svnserver.conf
sed -i 's/auth-access =/auth-access = write/g' ${SVNDIR}/${projectdir}/conf/svnserver.conf
sed -i 's/password-db =/password-db = passwd/g' ${SVNDIR}/${projectdir}/conf/svnserver.conf
sed -i 's/authz-db =/authz-db = authz/g' ${SVNDIR}/${projectdir}/conf/svnserver.conf
echo -e "${svnuser} = ${svnpassword}" >> ${SVNDIR}/${projectdir}/conf/passwd
echo -e "svnserve -d -r ${SVNDIR}" >> /etc/rc.d/rc.local
chmod 777 /etc/rc.d/rc.local
cp -rf ${SVNDIR}/${projectdir}/hooks/post-commit.tmpl ${SVNDIR}/${projectdir}/hooks/post-commit
echo "" > ${SVNDIR}/${projectdir}/hooks/post-commit
cat >> ${SVNDIR}/${projectdir}/hooks/post-commit <<EOF
#!/bin/sh
export.UTF-8
/usr/bin/svn update --username ${svnuser} --password ${svnpassword} ${WEBDIR}
EOF
chmod 755 ${SVNDIR}/${projectdir}/hooks/post-commit
svnserve -d -r ${SVNDIR}
svn checkout svn://127.0.0.1/${projectdir} ${WEBDIR}
#最后需要人工输入下root账户和svn账户密码


svn

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://sulao.cn/post/495.html

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。