Continuous integration 如何生成发行说明?

Continuous integration 如何生成发行说明?,continuous-integration,Continuous Integration,[问题] 是否有人通过自动化流程发布产品说明?如果是的话,怎么办。特别是使用持续集成服务。您是否只是使用脚本来解析日志文件,以便为该版本修复问题,从而创建适当的文本文件 [背景] 最近,我为我的爱好项目实施了持续集成。作为它的一部分,我将问题跟踪报告链接到我的构建中。但是对于发行版,我希望做同样的事情,并让它生成一个类似于nhibernate release notes.txt的发行说明文件,我发现它非常干净 [示例] 构建1.2.1 修正错误: * [ID-1] - The system do

[问题]
是否有人通过自动化流程发布产品说明?如果是的话,怎么办。特别是使用持续集成服务。您是否只是使用脚本来解析日志文件,以便为该版本修复问题,从而创建适当的文本文件

[背景]
最近,我为我的爱好项目实施了持续集成。作为它的一部分,我将问题跟踪报告链接到我的构建中。但是对于发行版,我希望做同样的事情,并让它生成一个类似于nhibernate release notes.txt的发行说明文件,我发现它非常干净

[示例]

构建1.2.1 修正错误:

* [ID-1] - The system doesn't accept valid usernames
改进:

* [ID-2] - Saving the file takes 3 minutes when it should take a few seconds. 
新功能:

* [ID-3] - Allow users to refresh the page using the F5 key.
完成的任务:

* [ID-4] - Document undocumented configuration properties.

通常,这类事情是由问题跟踪软件完成的。您可以跟踪每个新功能、每个错误修复和每个增强,将它们分配到一个发行版,然后根据描述生成发行说明。

您可以使用doxygen之类的工具来完成此操作,但按照doxygen的预期方式进行注释有点乏味。我通常是手工买的


不确定,但是像FogBugz这样的东西不会也这样做吗?

在我的公司,我们使用bugzilla。我们使用里程碑来标记带有特定版本号的bug。然后,我们用一个特定的里程碑为所有bug生成一个xml报告,并使用一个小脚本从中生成发行说明

一般来说,这可以很容易地推广到任何bug跟踪软件


我猜它也可能与版本控制系统上提交消息中的注释有关。可以进行查询,列出verson控件上提交的所有注释,然后过滤带有特定标记的所有注释。

假设开发人员不是私家侦探,并且是获得任务并执行任务的团队的一部分,那么UAT的实际发布说明中会列出已完成的工作和应完成的工作。文件更改列表等与此无关,可以从源代码管理中轻松提取

由于执行开发人员签入包含问题编号的代码的策略非常困难,所以我不想麻烦。我在代码审查时询问了这个问题。我还保留了我们正在进行的工作的清单。在mvn发行版:prepare命令运行之前,已完成的工作会添加到日志中。然后我把它交给QA和UAT


这不太可能扩展到每周数百期。在这些情况下,更稳健的系统可能更可取

如果您使用的是maven,则有一种方法可用于此目的,因此可以在连续集成过程中轻松地自动生成此报告。

对于使用.NET和TFS的用户,您可以使用自动生成发行说明

TFS Cuxelg允许Team Foundation Server(TFS)用户将与变更集和相关工作项相关的信息提取为XML格式,并将其转换为HTML。 TFSChangeLog根据所选变更集范围自动生成变更日志/发行说明

TFS通过注册的变更集和关联的工作项保存文件版本历史记录。此确切信息将用于生成发行说明。Configuration/Release manager可以使用系统数据字段或自定义字段来生成发行说明内容。提供了对从原始XML格式转换数据的强大XSLT2.0支持,这无疑为生成各种格式的数据提供了可能性。对XSLT2.0的支持使得为用户所需的转换输出应用过滤条件变得非常容易

如果您使用JIRA(我建议任何方式),它都可以为您提供。内置格式相当简单,但在许多情况下都能很好地工作。内容在一定程度上是可定制的,尽管就灵活性而言,这不是一个终极词汇

如果您想从JIRA那里找到更好的发行说明,请尝试。它:

  • 不仅仅是原始的“已完成问题”列表(例如:安装和升级说明、法律细节、已执行的测试、更改的文件)
  • 对所包含内容的更多控制(不包括某些状态、解决方案、问题类型等)
  • 允许以电子邮件(PDF格式)或纸质形式分发发行说明文档
免责声明:我是这个商业JIRA插件的开发者


我正在努力解决同样的问题。在我们的开发中,我们使用svn/jira,我们有一个定制工具,它将尝试在提交更改之前构建和健全测试更改,并且开发人员输入jira编号作为该过程的一部分(它验证编号)。然后,此jira编号将包含在SVN提交中

从那时起,我们在svn的两个点之间生成一个发布说明,根据每次提交时的注释,我们可以构建一个已提交问题的列表,并填充发布说明

问题是1。发行说明中的问题需要作为代码更改输入。不包括在不更改代码的情况下修复的问题。2.如果一个开发人员正在修复一个补丁,那么它将出现在发行说明中,而不应该出现在发行说明中

我想找到一个手动开销最小的解决方案,我们可以从我们的CI系统中获取任何构建,并将其转化为发行版

我正在考虑调整流程,以便在问题未解决时生成的发行说明将失败——但我觉得开发人员会抱怨,当我们想要发布时,他们可能已经解决了一半的问题

另一种选择是只在发行说明中包含已完成的问题。然而,问题是,如果开发人员在版本a中进行了修复,但在版本a发布时没有关闭该问题,然后在版本a发布后没有进行代码更改并关闭该问题,那么我现在如何在发行说明(Ma)中自动包含该问题