2

TeamCityは、いくつかのWebアプリケーション、コンソールアプリケーション、およびWinフォームアプリケーションを含む完全なインストーラーパッケージを構築します。これは、アプリケーションスイートを構成します。これらの各アプリケーションには、独自のMercurialリポジトリがあります。

私たちができるようにしたいのは、各バージョンのリリースノートを自動的に提供することです。TeamCityは、ビルドの変更にカーソルを合わせると、すでにMercurialコミットメッセージをWebインターフェイスに表示しています。ビルド中にこれらのメッセージをキャプチャして、エージェントの作業フォルダー内のテキストファイルに抽出することは可能ですか?

4

1 に答える 1

2

TeamCityはわかりませんが、少しのソフトウェアのコミットを取得して、きちんとした履歴ログにフォーマットする簡単な方法があります。これは、あなたが求めているものだと思います。おそらく、これを使用してニーズに合わせて変更できます-水銀コマンドのみを使用するため、ビルドの依存関係として追加できます(コマンドを実行して出力する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
...

コマンドラインまたはテンプレートの説明が必要な場合は、コメントを追加してください。

于 2012-12-12T10:22:55.423 に答える