Fork me on GitHub
随笔 - 215  文章 - 13  trackbacks - 0
<2018年10月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910


专注即时通讯及网游服务端编程
------------------------------------
Openresty 官方模块
Openresty 标准模块(Opm)
Openresty 三方模块
------------------------------------
本博收藏大部分文章为转载,并在文章开头给出了原文出处,如有再转,敬请保留相关信息,这是大家对原创作者劳动成果的自觉尊重!!如为您带来不便,请于本博下留言,谢谢配合。

常用链接

留言簿(1)

随笔分类

随笔档案

相册

Awesome

Blog

Book

GitHub

Link

搜索

  •  

积分与排名

  • 积分 - 211162
  • 排名 - 118

最新评论

阅读排行榜

SVN服务器搭建:http://blog.chinaunix.net/uid-21146222-id-5761320.html

安装步骤如下:

1、yum install subversion

2、查看安装版本 svnserve --version

   

3、创建SVN版本库目录 mkdir -p /home/svn/svnproj

4、创建版本库  svnadmin create /home/svn/svnproj

5、进入conf目录(该svn版本库配置文件)cd conf/
   authz文件是权限控制文件
   passwd是帐号密码文件
   svnserve.conf SVN服务配置文件

6、设置帐号密码 vi passwd
   在[users]块中添加用户和密码,格式:帐号=密码,如quwenzhe=123456

   

7、设置权限 vi authz
   在末尾添加如下代码:

 
  1. [/]  
  2. quwenzhe=rw

   意思是quwenzhe对版本库的根目录有读写权限

8、修改svnserve.conf文件  vi svnserve.conf
   打开下面的几个注释:
   anon-access = read #匿名用户可读
   auth-access = write #授权用户可写
   password-db = passwd #使用哪个文件作为账号文件
   authz-db = authz #使用哪个文件作为权限文件
   realm = something # 描述

   

9、启动svn版本库  svnserve -d -r /home/svn(注意:这里是到svn这一级根路径,而不是到svnproj)
(PS:停止SVN命令  killall svnserve)
10、在windows上测试

   输入SVN地址,如下图:svn://yourserver.com/svnproj

   

   输入用户名、密码,如下图:

   

   到此,在CentOS 7上搭建SVN服务器的操作步骤完毕。

   接下来利用hooks实现代码的自动提交部署
   # cd hooks
   # cp 
post-commit.tmpl post-commit   # .tmpl只是模板文件,真正起作用的是不带扩展名的脚本

   # vim post-commit
   文件末尾添加
   
svn checkout "svn://yoursvnserver" /usr/share/nginx/html --force --username="admin" --password="admin" --non-interactive
  exit 0
  :wq
  # chmod 777 
post-lock                           # 赋予脚本执行权限
  以上代码的意思是,当发生svn提交操作时,自动签出最新代码版本到nginx的html目录下。注意:最后的exit0不可或缺,否则会报:

post-commit hook failed (exit code 255) with no output


  之后每次提交最新的代码即可自动同步到nginx服务器下。关于svn hooks的更多用法:

事 件名

时 机

与 hook 交 互

一 般用途

start-commit

事务创建之前。

传给 hook 的 参数:

-         参 数 1 , 代码库路径。

-         参 数 2 , 试图提交的用户名。

hook 的返回值:非 0 则 终止。

判断用户是否有权限进行提交 操作。

pre-commit

事务完成,但未提交。

-         参 数 1 , 代码库路径。

-         参 数 2 , 事务名。

hook 的返回值:非 0 则 终止提交,操作回滚。

对提交内容进行检查。如要求 提交必须填写提交信息。

post-commit

事务提交完毕,新的修订版被 创建。

传给 hook 的 参数:

-         参 数 1 , 代码库路径。

-         参 数 2 , 刚创建的修订版号。

hook 的返回值被忽 略。

发送邮件通知,或备份代码 库。

pre-revprop-change

修改修订版属性(如提交时提 供的信息 message )之前。

由于修订版属性一旦修改就会 永久的丢失,除非安装这个事件的 hook subversion 的 客户端不允许远程修改修订版属性。

传给 hook 的 参数:

-         参 数 1 , 代码库路径。

-         参 数 2 , 要修改的修订版号。

-         参 数 3 , 操作用户名。

-         要 修改的属性。

hook 的返回值:非 0 则 终止。

保存修订版属性的改变记录。

post-revprop-change

修订版属性值被修改之后。

如果没有安装 pre-revprop-change 的 hook , 这个事件的 hook 不会被执行。

传给 hook 的 参数:

-         参 数 1 , 代码库路径。

-         参 数 2 , 要修改的修订版号。

-         参 数 3 , 操作用户名。

-         要 修改的属性。

hook 的返回值被忽 略。

发送邮件通知。


参考:http://blog.csdn.net/deepwishly/article/details/5366757

http://blog.csdn.net/cx118118/article/details/53427796
https://zhidao.baidu.com/question/1821333664904490708.html
posted on 2017-06-22 14:51 思月行云 阅读(770) 评论(0)  编辑 收藏 引用 所属分类: 服务器\Ops

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理