4

我们使用与 SVN 集成的内部发布管理系统,该系统执行以下操作:

开发者在svn repo中给出title、repository、change set,选择code reviewer的名字、QA的名字和changeset并提交审批

QA 和代码审查员批准发布,并以 zip 格式提供下载。zip 存档中的文件通过 svn 变更集进行跟踪。

现在的问题是:是否有更好的测试发布管理系统的开源实现可以为我们完成上述任务?我们还计划将我们的 SVN 存储库迁移到 GIT,因此如果发布者支持这两个系统,那将是一个巨大的优势。

PS 我读过关于 Jenkins 和 Maven 的文章,但不确定他们是否会做我们想做的所有事情。

4

2 回答 2

2

好吧,您基本上希望自动执行以下步骤,并且为此需要一个 CI。

“开发人员在 svn repo 中给出标题、存储库、变更集、选择代码审阅者的姓名、QA 的姓名和变更集并提交审批”

要求您的开发人员在提交代码之前正确标记并添加所有必需的信息

如果您已经阅读过有关 Hudson/Jenkins 的信息,那么

  • 您可以设置一个 Hudson 作业 (CI) 以从 SVN/GIT 提交历史中获取上述信息,并且测试人员/审阅者应该得到相关信息。有很多插件可以实现这一点,请参见release mange pluginemail-ext应该足以实现这一点。

“QA 和代码审查员批准发布,并以 zip 格式提供下载。zip 存档中的文件通过 svn 变更集进行跟踪”

为此,您需要自动审查/测试。首先,弄清楚审查是如何完成的,然后您可以在 Hudson/Jenkins 中添加一个构建步骤来运行执行任务的脚本。如果脚本失败,它将再次向提交代码的人发送电子邮件(请参阅 email-ext 插件)。最后,您可以压缩构建并发送存档。可能你甚至不需要为“哈德森代码审查”或“詹金斯代码审查”编写审查脚本。

相信我,所有这些都有可用的插件。你只需要多读一点,然后通过 Jenkins/Hudson。

于 2012-10-18T13:19:47.773 回答
2

“开发人员在 svn repo 中给出标题、存储库、变更集、选择代码审阅者的姓名、QA 的姓名和变更集并提交审批”

既然您提到您正在考虑迁移到 Git,您可以考虑Gerrit。Gerrit 可以托管您的 Git 存储库,还可以管理提交/审查/合并工作流程。

Alex Blewitt的视频展示了如何将 Gerrit 与 Jenkins 一起使用。我推荐这个视频,但它的速度相当快。

我们使用的工作流程是这样的:

  • 开发人员将更改提交给 Gerrit 以供审核。
  • Jenkins 构建更改,并在审查项目上指示它是否构建。
  • 审阅者从 Jenkins 获取构建的工件并对其进行测试。
  • 审阅者还进行代码审查,并在 Gerrit 上用他们希望修复的任何内容标记更改。
  • 开发人员根据评论评论更新更改。
  • 根据需要重复上述步骤。
  • 审阅者批准更改,并将它们合并到主分支中。

Gerrit 用于一些大型项目,包括 Android 项目。你可以在这里看到它的使用。

编辑:您需要一个 Jenkins 插件来提供 Gerrit 和 Jenkins 之间的集成。Jenkins 至少有两个 Gerrit 相关的插件。以上是指Gerrit Trigger插件。

另请参阅:Gerrit 文档

于 2012-10-18T13:43:19.893 回答