设为首页 收藏本站
查看: 244|回复: 0

[经验分享] SVN配置,WWW同步,添加注释才能提交

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-3-9 08:30:30 | 显示全部楼层 |阅读模式
1、测试安装环境
#lsb_release –a
#uname –a
2、安装测试软件
(1)安装软件
# yum -y install subversion
(2)测试软件是否安装成功
#svnserve --version
3、新建一个目录用于存储SVN所有文件
#mkdir /opt/svn
该目录是SVN根目录,后期可以再执行新建版本库的命令用来创建多个项目
新建一个版本库,并初始化
#svnadmin create /opt/svn/oil
4、用户、权限配置
(1)修改版本库的配置文件
#vim/opt/svn/oil /conf/svnserve.conf
[general]
anon-access = none   #使非授权用户无法访问
auth-access =write  #使授权用户有写权限
password-db =passwd#指明密码文件路径
authz-db = authz     #访问控制文件
realm = oil#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错.
(2)修改允许访问版本库的用户文件
#vim /opt/svn/oil/conf/passwd
文件格式如下所示:
[users]//不可省略
test = 123  //用户名密码对,每个用户一行
(3)修改用户访问版本库的权限
#vim /opt/svn/oil /conf/authz
注意:权限配置文件中出现的用户名必须在passwd文件中有定义过,对权限配置文件authz的修改会立即生效,此配置文件采用“基于路径的授权”策略,中括号里指定路径,以下列出对各用户的授权。还可以对用户分组。
文件格式如下所示:
用户组格式:
[groups]
user_group_name= username1,username2 //用户间以逗号分割
版本库目录格式:
[test:/project/directory]//版本库:/项目/目录
@user_group_name= permissions //用户组名=权限
username= permissions //用户名=权限
[/]
test = rw
*=
注意:配置项所有的行都必须顶格,否则报错。
[]可以有多种定义/表示对全部的版本库设置权限,oil:/表示对oil设置权限,oil:/www表示对oil中的www项目设置权限,oil:/www/example.com表示对oil中的www项目的example.com目录设置权限。
可以用*来表示所有用户。权限可以设置为w,r,wr和空,空表示没有任何权限。
(4)启动默认端口 3690(关闭防火墙或者防火墙放行该端口,停用SELinux=>setenforce 0)
#killallsvnserve
#svnserve -d -r /opt/svn/oil
注意:如果在一台服务器上同时启动多个版本管理,那么启动路径必须是所有项目仓库的根路径
加入开机启动(echo “svnserve -d -r /opt/svn”>> /etc/rc.local)
(5)本地checkout一份查看版本号,看一下仓库中是否有文件
5、导入源代码到仓库
#mkdir –p/home/code/{trunk,tags,branches}
源代码路径:/home/code/trunk/oil
#svn import /home/code/ file:///opt/svn/oil -m “first import”
检查是否导入成功
#svn list --verbose file:///opt/svn/oil
本地再update一份查看版本号,看一下仓库中是否有文件
注意:web目录下一定要用TortoiseSVN checkout出Repositories的代码
步骤:
1.先把源代码导入到仓库中(已完成)
2.再在WWW根目录下checkout仓库中的代码(注意权限问题)
#pwd
/home/wwwroot/default
#svn cofile:///opt/svn/oil/trunk ./
#chown –Rwww:www oil/
#chmod –R777 oil/
3.本地工作目录也是checkout仓库中的代码
4.再配置钩子(post-commit可执行权限)
#chown ww:www post-commit
#chmod a+x post-commit
查看本机环境语言:#echo$LANG

1.cp /opt/svn/oil/hooks/pre-commit.tmpl/opt/svn/oil/hooks/pre-commit

2.chmod a+x /opt/svn/oil/hooks/pre-commit

3.vim /opt/svn/oil/hooks/pre-commit(黄色的为文档内容)

#/bin/bash

REPOS="$1"

TXN="$2"


# Make sure that the log messagecontains some text.

SVNLOOK=/usr/bin/svnlook

#$SVNLOOK log -t"$TXN" "$REPOS" | \  

#   grep "[a-zA-Z0-9]" > /dev/null|| exit 1


# Check that the author of thiscommit has the rights to perform

# the commit on the files anddirectories being modified.

#commit-access-control.pl"$REPOS" "$TXN" commit-access-control.cfg || exit 1


# All checks passed, so allowthe commit.

#exit 0


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

if [ "$LOGMSG" -lt 10 ];#要求注释不能少于5个汉字,您可自定义

then

echo -e"\n======================================================"1>&2

echo -e "\n请在Commit(提交)前为您的补丁添加必要的注释。\n本次提交被忽略。"1>&2

echo -e"\n======================================================"1>&2

exit 1

fi

4.重启svn



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-188283-1-1.html 上篇帖子: linux双网卡配置路由 下篇帖子: CentOS6U5 64位系统编译安装最新版本的Emacs编辑器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表