2009-11-03 113 views
1

我最后的雇主开发了一个精心设计的系统,它坐在SVN之上来处理正在进行的开发:(变更管理)查看错误/问题,并在进行提交时通过标记错误ID号和( 发布管理)将SVN中的项目标记为基于bug /问题跟踪系统的特定版本的一部分。第二部分有与之关联的工作流程,以便从用户/管理层获得签名。然后,当它发布时(通常是每周四晚上),他们可以运行命令来检出所有标记的代码并进行部署。什么是使用SVN管理版本的正确方法?

我的新公司规模小得多,我很想找到一个低成本/低维护的等价物,即使它只是意味着直接与SVN打交道。特别是,我经常在游戏后期发现违反我们构建的提交,并且要解决我们可以包含的内容变得非常困难。 (就管理SVN而言,我倾向于在分支机构上使用标签,因为它需要较少的预先考虑,但我很乐意被说服。)

什么是人们用来为发布标记提交并做一个后续的部署?是否有任何优秀的开源解决方案来管理发布周期,使您可以从Web浏览器浏览SVN并为发布标记问题/提交?我目前看到的最好的东西是Jira,但看起来像一个非常大的工具(难以配置/维护?)。 Apache基金会为此目的充分利用了Jira(例如,请参阅the Mahout roadmap)。

即使超出这一步,也会让这个系统也包含持续集成,以便我们的单元测试可以在每次提交时运行,并且每个错误/问题也会将这些信息关联起来。

注意:在stackoverflow上有一些稍微相关的问题,但我没有看到覆盖部署周期和发布管理的这方面的任何内容(请参阅release-management-in-svn,manage-your-project-life-cyclebest-way-to-handle-change-management)。

回答

2

如果您在游戏中发现构建破坏检查太迟而无法有效修复,您应该在开始担心释放过程之前跳过CI列车。让开发人员对构建的完整性负责是一个更容易的过程,当每次有人检查某个东西时,电子邮件就会发出去。把它变成游戏;无论谁打破构建必须保姆,直到下一次被打破。使用CruiseControl(我使用CC.NET)起步并运行并不是很难与颠覆(我从没有构建过程谈到与CC.NET和NAnt完全自动化的构建和部署在约一个月,与其他职责交错当然)。

我们也使用JIRA,在那里很难出错。您可以让JIRA观看“Fixed PROJECT-11”之类的颠覆提交消息,它会自动关闭相应的JIRA项目。您可以从那里构建发行说明。

相关问题