TeamCity 7.x在构建期间收集提交消息 - 发行说明

时间:2012-12-07 09:43:07

标签: mercurial release-management teamcity-7.0

我们的TeamCity构建了一个完整的安装程序包,其中包括多个Web应用程序,控制台应用程序和win表单应用程序它构成了一个应用程序套件每个应用程序都有自己的Mercurial存储库。

我们希望能够自动为每个版本提供发行说明。当一个人悬停在构建的更改上时,TeamCity已经在Web界面中显示Mercurial提交消息。是否有可能以某种方式在构建期间捕获这些消息并将其提取到代理工作文件夹中的文本文件?

1 个答案:

答案 0 :(得分:2)

我不知道TeamCity,但我有一个简单的方法来获取一些软件的提交并将其格式化为一个整洁的历史日志,我想这就是你所追求的。也许你可以采取这个并修改它以满足你的需要 - 它只使用mercurial命令,所以你可以将它添加为你的构建的依赖项(我有一个VC ++项目的后期构建步骤,它运行命令并输出到文本文件)。

我有一个简单的模板:

$ cat history.template
changeset = '{tags} {rev}\t{desc|fill68|strip|tabindent}\n'
start_tags = '\n'
tag = '{tag},'
last_tag = '{tag} : {node|short} @ {date|shortdate}\n'

当我使用以下hg命令创建可用的历史记录日志时:

hg log --style history.template -r "reverse(::.) & !desc('Added tag')"

该命令接受工作目录的所有祖先的提交注释,输出标记和变更集哈希,以及标记的创建日期,然后是所有相关的更改。以下是测试仓库的示例hg log -G输出,显示defaultrelease分支:

@  21[tip]:18   c676cfe95284   2012-12-12 10:12 +0000   rob
|    Added tag 0.0.5 for changeset d0869f1c84ba
|
| o  20   7618cafcfc5d   2012-11-26 17:23 +0000   rob
| |    More changes indeed
| |
| o  19:17   ffc8bef85a2e   2012-11-26 17:22 +0000   rob
| |    Some additional files were needed
| |
o |  18[0.0.5]:15,17   d0869f1c84ba   2012-11-22 17:25 +0000   rob
|\|    Releasing
| |
| o  17   a41d817184ea   2012-11-22 17:25 +0000   rob
| |    Made the last change
| |
| o  16:13   e790e9022e70   2012-11-22 17:24 +0000   rob
| |    Made some changes using "record"
| |
o |  15   15f21a6f554a   2012-11-13 17:03 +0000   rob
| |    Added tag 0.0.4 for changeset c316b232c95c
| |
o |  14[0.0.4]:10,13   c316b232c95c   2012-11-13 17:03 +0000   rob
|\|    Merging, eh?
| |
| o  13   ba00c7045a23   2012-11-13 17:02 +0000   rob
| |    Modified revset selection for logging
...

显示的模板和命令输出以下内容:

0.0.5 : d0869f1c84ba @ 2012-11-22
 18     Releasing
 17     Made the last change
 16     Made some changes using "record"

0.0.4 : c316b232c95c @ 2012-11-13
 14     Merging, eh?
 13     Modified revset selection for logging
 12     When logging history select only ancestors of the working directory
 11     Added history logging
...

如果您想要对命令行或模板进行一些说明,请添加注释。