繁体   English   中英

Linux Dev上的Subversion存储库

[英]Subversion Repository on Linux Dev

在linux开发机器上设置subversion存储库的最佳实践是什么? 外部用户需要能够访问特定的存储库,但机器上没有其他任何东西。 我知道一个答案是建立一个专用的存储库,但我正在寻找一个单一的机器解决方案:存储库,帐户,备份程序的位置。

Subversion的一种流行访问方法是通过Apache模块。 您可以在目录级别设置不同的权限来控制访问。 请参阅选择服务器配置httpd,Apache HTTP Server 对于身份验证,我建议通过mod_auth_sspi使用Microsoft AD之类的外部身份验证源。

如果您需要混合和匹配权限,请参阅我的答案如何只为某些SVN开发人员显示一些文件夹

我在IT运营基础设施自动化公司工作; 我们一直这样做。

存储库的位置:默认情况下,我们使用“/ srv / svn”存储所有SVN存储库,除非客户有特定要求,例如现有存储库可能存储在ReadyNAS共享文件系统中。

帐户:我们所有的客户都使用LDAP。 OpenLDAP服务器在主主机上运行,​​但有时是Active Directory,因为有些客户在他们的办公室中有一个Windows域,我们也可以配置它。 开发人员可以访问“SCM”组(通常是svn,git或devel)和“部署”组。 这些组仅具有登录和执行SCM相关活动的权限(即,基于组所有权写入对repo的提交),或者将应用程序部署到生产中。

备份程序:我们使用svnadmin hotcopy,除非客户已经有了某些东西(通常是svnadmin dump,呵呵)。

svnadmin hotcopy /srv/svn /srv/svn_backups/$(date +%Y%m%d)

要访问repo,它通常是简单的svn + ssh。 一些客户已经有Apache设置,但并不多。 我推荐SSH。 开发人员推出他们的公共ssh密钥,一切都很顺利。 LDAP用户管理几乎没有维护( 唯一的方法)。

我建议在subversion书中查看有关服务器配置章节 它建议哪种配置更适合您的使用。

对于它的价值,使用独立的svn守护进程设置存储库非常简单。 令人讨厌的是管理用户权限。

我有一篇博客文章描述了设置和启动基于Linux的Subversion服务器以维护代码存储库等所需的步骤。

基本上步骤是:

  1. 下载 Subversion tarball。
  2. 解压缩并安装Subversion。
  3. 处理运行./configure时出现的任何安装问题(如果有)。
  4. 使用svnadmin create创建Subversion存储库。
  5. 使用您选择的文本编辑器编辑存储库配置文件。
  6. 同上密码文件。
  7. 使用svn import将代码,项目等导入存储库。
  8. 作为守护进程启动服务器,例如svnserve -d 重启后也可以自动执行此操作。
  9. 使用标准Subversion命令开始使用它,例如签出,签入,备份等...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM