首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为web应用程序开发配置subversion,以限制开发人员对源代码的访问

如何为web应用程序开发配置subversion,以限制开发人员对源代码的访问
EN

Stack Overflow用户
提问于 2012-02-20 06:35:41
回答 3查看 666关注 0票数 0

我的团队一直在开发一个基于php的web应用程序,后端是msql,前端是html、css、jquery。我们已经工作了相当一段时间没有版本控制。这个项目现在变得相当庞大和复杂,并且觉得是时候使用某种版本控制( vc )了。

我们读了很多关于vc的文章,并发现了一些人们推荐的技术。虽然这对他们来说可能是个完美的方法。它并不有效地适用于我们的案件。

我们的应用程序被分成不同的模块,我们已经将工作外包给了一些自由职业者。自由职业者在前端或后端独立工作,这取决于他们的技能。到目前为止,这项工作已经在一个专用网络上进行了,我们希望转向一个在线系统。

现在的问题是,我们不能将整个项目的源代码分发给所有开发人员。开发人员只允许在一些公共库及其各自的模块上工作。

因此,我们不能允许将整个项目下载到每个开发人员本地机器上。因此,我们需要找到一种方法,让所有开发人员在同一个分支上工作,或者在主干上工作。为了能够只访问代码的某些部分并在保存/提交时,可以检查它们的更改是如何立即生效的。

是否有办法完成上述任务?为网络应用程序?使用像subversion这样的版本控制?

总结一下,我们试图实现的特性如下。

  1. 对保存/提交的即时效果(当每个开发人员保存/提交时,他们应该能够立即通过浏览器测试正常效果)
  2. Limited access (每个开发人员只能访问项目的特定部分,而不能访问整个项目。)
  3. 在线存储库/在线副本-(我们正在进行虚拟专用网连接,并希望网站工作在一个在线副本上)。因此,当提交时,开发人员可以在线查看他的更改,而不是VPN )

经过大量的在线搜索,我们找到了以下的可能性。但不确定这是否是正确的做法。

  1. 对于即时效果wamp/www/projectName ),调用bat文件来更新webroot中的当前系统,每次提交时都使用后提交挂钩。
  2. 有限访问->所有开发人员的开发都发生在主干或开发分支中,开发人员可以访问他们各自的部分,在需要时锁定它,并在准备好看到其效果时提交更改(注意仍在dev分支中)。
  3. 每当创建稳定版本时,都会创建标记。这些有标记的拷贝从未被修改过。

这样的配置是可以使用subversion实现的,还是应该使用其他开源版本控制工具?

EN

回答 3

Stack Overflow用户

发布于 2012-02-20 06:50:12

试图阻止开发人员访问整个源树对我来说似乎有点误导。这是公司政治吗?你不相信你的开发者吗?

无论如何..。

实现您想要的目标的最简单的方法可能是将每个模块放入自己的存储库(svn、git等)。然后,你可以有选择地选择谁可以访问哪一个回购。

票数 3
EN

Stack Overflow用户

发布于 2012-02-20 09:11:40

  1. 后提交钩子,unconditionally "do site“是一个常见的不太好的主意:开发人员可以提交半成品代码,甚至不考虑测试它。
  2. 让您的工作副本公开,当网站变得公开-不那么好的想法,从POV的安全和IP。对于SVN 1.7来说,将WC-root移动到web-root之外更好。
  3. 如果模块被分割到不同的目录中,您可以创建每个模块的存储库和“超级存储库”,使用svn:externals,在Project中组合存储库
  4. authz_svn_module可以很容易地控制树内的路径访问(在http-repo中)。
  5. 使能够为开发人员创建私人的个人短时间分支(“”),它有助于避免( 1)巨大的混乱提交。
票数 0
EN

Stack Overflow用户

发布于 2012-02-21 16:03:52

首先,我建议阅读“持续交付”一书(这里网站)。它提供了许多如何设置这类事情的例子。

其次,是的,SVN允许您在文件夹级别上分配权限和回购级别(但阅读“您真的想要做这个”部分)。

第三,确保开发人员有最新的副本是您应该通过纪律灌输的东西--“在开始工作之前,在提交之前,运行svn更新”)。提交后挂钩有一个坏习惯,破坏东西,你没有阻止提交,破坏了构建。

第四,我会考虑设置一个连续集成服务器(在连续交付书中也有描述)。这可以确保每当您将开发人员的工作组合在一起时,就会有一个干净的、可工作的构建。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9357106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档