阿里云ECS ubuntu 14.04 搭建svn以及使用实践记录

来源:互联网 发布:足彩数据 编辑:程序博客网 时间:2024/06/05 16:41

1.   安装SVN

apt-get install subversion

 

2.    创建版本库

2.1先创建SVN版本库目录

mkdir /home/svn  理论上是放到任何地方都可以的,也可以选择放到/var/www/

/home/svn   所有版本库的目录

mkdir /home/svn/project1  项目1的版本库目录

mkdir /home/svn/project2  项目2的版本库目录

2.2 创建SVN项目

svnadmin  create /home/svn/project1

svnadmin create /home/svn/project2

 

3.   为了便于管理,将所有版本库的密码和权限设置在同一个文件下面,操作步骤如下:

3.1取出project1下面conf文件夹下的authz和passwd两个文件到svn根目录

3.2修改每个版本库目录conf文件夹下面的svnserve.conf文件, 将

# anon-access =read ,#auth-access =write ,# password-db =passwd,#authz-db = authz 修改为:

anon-access =none ,auth-access=write,password-db =../../passwd,authz-db =../../authz

     (password-db = ../../passwd,authz-db = ../../authz代表相对路径而非绝对路径)

所有行都需要顶格

 

4.   添加角色:

打开svn目录下的passwd文件,创建方法是在[user]下面添加 username = passwd,格式的用户名密码

 

5.   设置权限:

打开svn目录下的authz文件,在[group]下面加上


指admin用户属于 admin_group 组     dev1用户属于p1组   dev2用户属于p2组

 

svn根目录下 admin_group,p1,p2组给读写权限


因为project1 与project2 都是用同一个authz文件所以这里的根目录是指/project1  也是指  /project2

 

6.   启动svn服务

svnserve -d -r /home/svn

可以通过命令  netstat -antp |grep svnserve 监听3690端口

这里有一个坑,这些端口(包括803306等)阿里云的ECS默认都是关闭的,都需要去实例那里开启一个端口准入策略

如果想关闭服务,用命令 pkillsvnserve

7.   创建自动更新钩子

7.1在服务器相应的网站目录checkout 一个svn版本,让代码与svn仓库建立链接

cd /var/www/html

svn checkout svn://你的svn地址/项目

然后系统会要求输入 root 账户的密码

之后要输入 对应的svn用户密码

复制project1/hooks/post-commit.temp文件为post-commit

#!/bin/sh

REPOS="$1"

REV="$2"

svn up /var/www/project1/ --username=admin--password=admin

 

在post-commoit文件里面写入以上蓝色代码

大功告成!!!!!!!!!!!!!!!!!

 

 

 

原创粉丝点击