QQ访问访问

服务器安装SVN

学习笔记 2020-05-09 15:56:00 892 0

【摘要】服务器安装svn进行代码管理


本篇主要讲正式服务器的安装

系统是centos7,防火墙装的是centos6的iptables,你可以不装这个,只要你能打开3690端口就行


yum -y install subversion

yum -y install rsync


先建个根目录

mkdir -p svn


mkdir -p /svn/project


创建svn库

svnadmin create /svn/project/thinkphp6


cd /svn/project/thinkphp6/conf


vim svnserve.conf


打开并修改

anon-access = none

auth-access= write

password-db= /svn/group/passwd

authz-db = /svn/group/authz

realm =/svn/project/thinkphp6


:wq保存退出


mkdir /svn/group


vim /svn/group/authz


插入

[groups]

php=test,test1

[thinkphp6:/]

@php=rw


vim /svn/group/passwd


插入

[users]

test=123456

test1=123456


启动svn

svnserve -d -r /svn/project


vim /etc/sysconfig/iptables


插入端口号3690

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690  -j ACCEPT


重启iptables

service iptables restart


检出svn

svn co svn://192.168.72.132/thinkphp6/


mkdir -p /svn/data

mkdir -p /svn/txt(后面用到忽略更新设置用的,新建个thinkphp6.txt内容为.svn)


cd /svn/data


svn co svn://localhost/thinkphp6


这是服务器的密码

"root"的密码:123456


这是svn认证的帐密

用户名:test

"test"的密码:123456


保存未加密的密码(yes/no)?no


cd /svn/project/thinkphp6/hooks


复制

cp post-commit.tmpl post-commit


vim post-commint


清空原有内容后插入

#!/bin/sh

REPOS="$1"

REV="$2"

#设置字符集

export.UTF-8

#svn检测目录

WEB_PATH=/svn/data/thinkphp6/

#svn更新目录

SEND_PATH=/home/thinkphp6/

#svn帐号

SVN_USER=test

#svn密码

SVN_PASS=123456

#所属用户和用户组

WEB_USER=nginx

#日志目录

LOG_PATH=/tmp/svn.log

echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH

#svn更新目录

svn up $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH

#更改用户组

chown $WEB_USER.$WEB_USER -R $WEB_PATH

#表示同步时和目录属性不变 即目录权限不变

#--delete 对比原目录和新目录 如果原目录没有 新目录有 会把新目录文件夹或者文件删除掉

#--exclude-from=/svn/txt/thinkphp6.txt 忽略某个文件夹和文件不同步 不增添加更新和删除 不起任何作用

rsync -avz --delete --exclude-from=/svn/txt/thinkphp6.txt $WEB_PATH $SEND_PATH


:wq保存退出


复制

cp pre-commit.tmpl pre-commit

   

给权限

chmod a+x pre-commit


vim pre-commit


清空原有内容后插入,限制提交代码写注释

#!/bin/sh

REPOS="$1"

TXN="$2"

SVNLOOK=/usr/bin/svnlook

LOGMSG=$($SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c)

if [ "$LOGMSG" -lt 10 ];  #这里是设置输入多少注释

then

  echo -e "n 提交文件时必须添加注释,提交中止."1>&2

  exit 1

fi

  exit 0



执行代码同步

sh -x /svn/project/thinkphp6/hooks/post-commit


由于我的重启失效,我直接杀死svn进程

killall svnserve


重启

svnserve -d -r /svn/project









版权归 姚钦鹏博客 所有

本文标题:《服务器安装SVN》

本文链接地址:https://www.yaoqinpeng.com/wzxs/226.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

0

0

上一篇《 Can't connect to local MySQL server through socket 》

这是最后一篇文章

分享到:

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情