12

XCode プロジェクトをビルドするように構成された TeamCity エージェントがあり、github を使用しています。TeamCity で保留中のすべてのコミットの説明をリリース ノートに自動的に含めたいと思います。

それらを github からフェッチして teamcity に保存するにはどうすればよいですか? それらを teamcity 変数に入れたら、ビルド スクリプトに簡単に追加できます。

4

3 に答える 3

21

これは、bashスクリプトを使用してこれを行うことになった方法です:

#!/bin/bash 

curl -o lastBuild.tmp "http://localhost:8111/app/rest/buildTypes/id:bt2/builds/status:SUCCESS" --user rest:rest
last_commit=`xpath lastBuild.tmp  '/build/revisions/revision/@version'| awk -F"\"" '{print $2}'`

echo "##Last commit = $last_commit"
# prepare build notes
NOTES=`git log --pretty=format:"- %s" $last_commit..origin/master`

echo "this is it:$NOTES"

いくつかの説明:

  1. curlビルド構成から最後に成功したビルドを取得するために使用します。私のサンプルでは、​​これはbt2です。必ずあなたのものに置き換えてください
  2. XPath/AWK を使用して XML 応答を解析し、最新の git バージョンを取得します
  3. git log最後のビルドからすべての変更を取得し、必要に応じてフォーマットするために使用します。コミットの説明を取得したかっただけです。
于 2012-05-31T20:56:37.130 に答える
2

ビルド ステップからビルド パラメータを直接更新するには、「ビルド ステップからビルド パラメータを追加または変更する」機能を使用できます。

GitHub からフェッチした後、呼び出すステップが必要になりますgit log origin/master..master(「git: list commits not push to the origin yet 」を参照)。
( GitHub での TeamCity 構成については、「Git で Team City を使用する」を参照し、 TeamCity が正しいアカウントで実行されていることを確認してください)

于 2012-05-29T08:02:19.183 に答える