2012-10-17 94 views
1

我期待将我的团队带入本世纪,并使用源代码管理。开发人员能够处理源代码控制软件 - 无论是基于命令行还是基于GUI,Windows或者-Nix。CM用户的源代码管理

他们在本地和单独处理他们的代码(这让我非常害怕)的原因是因为我们的CM团队在技术上并不熟悉整个签入/签出流程。

是否有一个针对CM组的源代码管理软件?我正在考虑一个能够让他们从已经签入的所有文件中选择一个文件的版本,并将其标记为他们正在创建的版本。

+0

那是“CM组”吗?您现在使用哪种构建 - 工作流程? –

+0

开发人员开发并将他们的文件保存在他们选择的位置。当我们需要构建时,CM向开发人员询问最新版本的位置,将该目录(或个别文件(如果是这种情况))复制到具有构建名称的新目录中,然后根据这些文件构建。 – redhotspike

+0

我认为在选择SCM之前,您必须首先从开发**的良好工作流程开始。当前*“无管理的无政府状态”*非常糟糕。之后几乎所有的SCM(也许DVCS,因为他们支持更多类型的灵活工作流程)将满足您的需求 –

回答

2

如果您认为CM(配置管理)组负责发布管理流程,那么您可以将它们与您可能选择的任何(D)VCS工具的“技术细节”相隔离出版过程。

出版在于进行可见的地方(一个共享目录中,工件库像Nexus,致力于发布,...)的:

  • 一个交付(一组二进制和它们的依赖)运行你的程序的必要条件
  • 这些二进制文件(SVN版本号或标签,git标签,Nexus Group-Artifact-Version等)的清晰版本,允许开发人员随时查找确切的代码集团队回到他们的缺陷修复列表
  • 一个文件,解释部署

的CM组采取一套交付,管理发布流程和不同部署环境(集成,UAT,预督促,督促,...)之间的推广,而不必须处理VCS工具。

这也加强了dev和prod之间的强烈分离(在环境进程中),这允许开发人员采用他们想要的任何开发工作流程,而不会影响CM组的工作方式。

+0

哇。 Nexus听起来和我在找的一模一样。假设你已经使用过Nexus,那么你是如何轻松地完成设置(移动文件,设置用户等)? – redhotspike

+0

@redhotspike相当简单,一旦你理解了这个想法(Nexus书帮助:http://www.sonatype.com/books/nexus-book/reference/)。当你存储过多的二进制文件时,很容易:Nexus引用是一个具有命名约定的目录集合,因此删除东西很简单(与删除VCS数据库中的版本相反)。 – VonC