码迷,mamicode.com
首页 > 其他好文 > 详细

svn 发布脚本整合

时间:2017-10-13 17:08:10      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:font   多实例   down   while   启动svn   chm   进入   download   代码   

linux多实例apache+svn部署

1.首先创建多实例目录

svnadmin create /svn/psm/

svnadmin create /svn/sh/       

2.赋予权限:

chmod -R 777 /svn/psm      /svn/sh

chown -R apache.apache   /svn/psm   /svn/sh

3.修改用户权限:

vim /svn/psm/conf/svnserve.conf  

anon-access = none  

auth-access = write  

4.整合Apache

vi /etc/httpd/conf.d/subversion.conf 加入以下:

多少个实例就添加几个location

<Location /psm>  

   DAV svn  

 SVNPath /svn/psm                  

  AuthType Basic  

   AuthName "svn"   

  AuthUserFile /var/www/svn/project/conf/passwd  

  Require valid-user  

</Location> 

5.启动svn

svnserver -d --listen-port 3690 -r /svn/sh

svnserver -d --listen-port 3691 -r /svn/psm

6.配置用户信息

htpasswd -c passwd qinyj

导入项目: svn import /www/download/psm_server -m "psm_server" file:///svn/psm/ --force-log

       svn import /www/downloadsh -m "sh" file:///svn/psm/ --force-log

svn co http://svn.qinyj.top/sh    psm   #checkout代码。

svn up svn目录 --username aaa  svn代码目录。  #更新代码库。会根据隐藏文件.svn 与服务器更新代码,如果本地工作目录没有会Add。

svn ci -m "备注信息" --username aaa svn代码目录。#提交到代码库。或者到svn目录里面svn ci -m "备注" --username aaa 

7.更新提交脚本

[ ! -d /code/wordpress ] && mkdir -p /code/wordpress && svn co http://svn.${svn_name}.top/sh/wordpress/ /code/wordpress && exit 1 || cd /code/wordpress #检查有没有创建工作目录
cd /code/wordpress #进入到工作目录
update_svn()
{
svn update --username ${svn_name}
if [ $? -ne 0 ];then
echo "svn update failed"
exit 1
fi
VERSION=`svn info |awk -F"[ ]+" ‘/Revision/{print $2}‘`
TEMP="`date +%Y%m%d`${VERSION}"
NUM=`echo ${TEMP}+1|bc`
echo -e "####################\nsvn update complete"
}

svn_commit ()
{
VERSION=`svn info |awk -F"[ ]+" ‘/Revision/{print $2}‘`
echo "cd /code/wordpress"
cd /code/wordpress
[ ! -d /root/shell_log ] && mkdir -p /root/shell_log
mkdir -p /root/shell_log/${VERSION}
svn status |awk ‘{if($1=="!") print $0}‘ |cut -b 9- >/root/shell_log/${VERSION}/svn_del.log
svn status |awk ‘{if($1=="?") print $0}‘ |cut -b 9- >/root/shell_log/${VERSION}/svn_add.log
svn status |awk ‘{if($1=="M") print $0}‘ |cut -b 9- >/root/shell_log/${VERSION}/svn_change.log
while read line ;do svn delete "$line" ;done </root/shell_log/${VERSION}/svn_del.log && echo "svn delete complete"
while read line ;do svn add "$line" ;done </root/shell_log/${VERSION}/svn_add.log && echo "svn add complete"
svn commit -m "`date +%Y%m%d%H%M%S`" --username ${svn_name} && echo "svn commit complete"
#删除认证文件
rm -f /root/.subversion/auth/svn.simple/*
}

svn 发布脚本整合

标签:font   多实例   down   while   启动svn   chm   进入   download   代码   

原文地址:http://www.cnblogs.com/qinyujie/p/7661728.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!