zhanzhan

是Subversion的简称,是一个开放源代码的版本控制系统

运行方式

独立服务器

借助apache运行

工作流程

集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。下面举例说明:

开始新一天的工作:

1、从服务器下载项目组最新代码。

2、进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了)。

3、下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。

这就是经典的svn工作流程,从流程上看,有不少缺点,但也有优点。

我们做运维只需要熟悉环境,简单更新发布提交就可以了。

SVN 环境搭建(介绍安装支持http访问方式的SVN)

效果图

yum install httpd

yum install subversion mod_dav_svn

1.创建仓库目录

mkdir -p /var/www/svn ###先创建目录

svnadmin create /var/www/svn/project ###制作成svn仓库,如果需要多个svn实例就再create一个工作目录。

2.配置改仓库的配置文件

vim /var/www/svn/project/conf/svnserve.conf

3.禁用匿名用户并开启验证用户权限。

anon-access = none

auth-access = write

4.编辑authz文件,设置guest组包含user用户。

[groups]

guest = user

#配置组权限,设置根目录下guest组为可读写,其他用户为可读。

[/]

guest = rw

* = r

5.导入svn项目

svn import /www/project -m “project” //192.168.0.162/project/

6.整合Apache

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

<Location /project> ###/project是svn项目

DAV svn

SVNPath /var/www/svn/project/ ###/project是svn项目的根目录即路径

AuthType Basic

AuthName "svn"

AuthUserFile /var/www/svn/project/conf/passwd ###/project是svn项目的认证密码文件

Require valid-user

</Location>

给svn目录权限。

chown apache.apache /var/www/svn -R

chmod 777 /var/www/svn -R

创建认证账号。

cd /var/www/svn/project/conf

htpasswd -c passwd user

输入密码

7.开启svn服务访问。

svnserve -d -r /var/www/svn/project

如果是多个实例:加--listen-port参数开启不同的监听端口号

svnserver -d --listen-port 3691 -r /var/www/svn/project

8.更新代码流程

(1)创建工作目录,从服务器上checkout代码

(2)更新服务器代码svn update 

(3)开发人员修改代码,然后提交svn commit -m "project"

8.补充知识点

配置用户认证htpasswd -c passwd qinyj

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

svn co //svn.qinyj.top/sh project #checkout代码。

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

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

写成shell脚本发布到svn服务器上:

 

分类:

技术点:

相关文章:

  • 2021-06-17
  • 2021-12-05
  • 2021-08-27
  • 2021-06-23
  • 2021-10-09
  • 2021-09-25
  • 2021-12-22
  • 2021-11-10
猜你喜欢
  • 2021-08-08
  • 2021-05-08
  • 2021-06-26
  • 2021-09-09
  • 2021-05-26
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案