XCode プロジェクトをビルドするように構成された TeamCity エージェントがあり、github を使用しています。TeamCity で保留中のすべてのコミットの説明をリリース ノートに自動的に含めたいと思います。
それらを github からフェッチして teamcity に保存するにはどうすればよいですか? それらを teamcity 変数に入れたら、ビルド スクリプトに簡単に追加できます。
これは、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"
いくつかの説明:
curl
ビルド構成から最後に成功したビルドを取得するために使用します。私のサンプルでは、これはbt2です。必ずあなたのものに置き換えてくださいgit log
最後のビルドからすべての変更を取得し、必要に応じてフォーマットするために使用します。コミットの説明を取得したかっただけです。ビルド ステップからビルド パラメータを直接更新するには、「ビルド ステップからビルド パラメータを追加または変更する」機能を使用できます。
GitHub からフェッチした後、呼び出すステップが必要になりますgit log origin/master..master
(「git: list commits not push to the origin yet 」を参照)。
( GitHub での TeamCity 構成については、「Git で Team City を使用する」を参照し、 TeamCity が正しいアカウントで実行されていることを確認してください)