Apache+SVN构建代码仓库平台

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache+SVN构建代码仓库平台相关的知识,希望对你有一定的参考价值。

很多同学对SVN+Apache整合很少头疼,今天整理了一版Apache+SVN整合的文档,希望能帮助到大家!


SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。


Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python解释器编译到服务器中。


一、SVN软件安装

wget https://archive.apache.org/dist/subversion/subversion-1.7.10.tar.bz2
http://www.sqlite.org/sqlite-amalgamation-3071502.zip
mvsqlite-amalgamation-3071502 subversion-1.7.10/sqlite-amalgamation
cdsubversion-1.7.10
./configure--prefix=/usr/local/svn/
make&& make install

技术分享

/etc/profile添加以下1行内容:

exportPATH=/usr/local/svn/bin:$PATH

安装完成后,查看svn版本信息是否已经安装, /usr/local/svn/bin/svn--version

技术分享


二、SVN服务配置

1)建立版本库目录

mkdir -p /data/svn/
建立svn版本库,关联puppet目录。
svnadmin create/data/svn/puppet

技术分享

2)   修改版本库配置文件

Vi/data/svn/puppet/conf/svnserve.conf

[general]
# 使非授权用户无法访问
anon-access = none
# # 使授权用户有写权限
auth-access = write
# # 指明密码文件路径
password-db = passwd
# # 访问控制文件
authz-db = authz
# # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
realm =/data/svn/puppet

3)   配置用户及权限

vi/data/svn/puppet/conf/passwd

[users]
wugk1 = 123456
wugk2 = 123456

vi/data/svn/puppet/conf/authz

[/]
wugk1 = rw
wugk2 = rw


三、启动SVN服务

/usr/local/svn/bin/svnserve-d -r /data/svn/ --listen-port=8001

查看本地8001端口有没有启动,netstat –ntl|grep 8001

可以在服务器使用SVN命令:

svn co -r  "5" svn://192.168.33.10:8001/puppet迁出代码。

svn commit提交代码,svn up更新代码。


四、SVN+Apache整合配置

拷贝svn模块至apache modules模块目录:

cp /root/svn/subversion-1.7.10/subversion/mod_dav_svn/.libs/mod_dav_svn.so/etc/httpd/modules/
cp/root/svn/subversion-1.7.10/subversion/mod_authz_svn/.libs/mod_authz_svn.so /etc/httpd/modules/

#vi/etc/httpd/conf/httpd.conf

末行添加如下内容:

LoadModule dav_modulemodules/mod_dav.so
LoadModuledav_svn_module modules/mod_dav_svn.so

在配置文件最後添加

<Location/svn>
DAV svn
SVNPath/data/svn/puppet
AuthType Basic
AuthName "svnfor project"
AuthUserFile  /etc/httpd/conf/passwd
AuthzSVNAccessFile/data/svn/puppet/conf/authz
Satisfy al
Require valid-user
</Location>

生成HTTP访问密钥:

htpasswd -c/etc/httpd/conf/passwd wugk01


五、访问并测试SVN

重启apache服务,/etc/init.d/httpd restart

技术分享

最后将puppet数据导入到SVN版本库中:

svn  import /etc/puppet/ file:///data/svn/puppet/svn -m ‘ver1‘

技术分享

以上是关于Apache+SVN构建代码仓库平台的主要内容,如果未能解决你的问题,请参考以下文章

Maven入门

Git- 连接远程仓库

CentOS7 构建httpd+svn+ifsvnadmin配置

jenkins根据prod,dev,test构建svn代码

有人可以解释啥是 SVN 平分算法吗?理论上和通过代码片段[重复]

数据治理平台 Apache Atlas