2009-07-01 27 views
2

私が現在作業している膨大なデプロイメントコントロールはありません。現時点では展開を扱うビルドスクリプトを作成するという長期的な計画がありますが、ソリューションを公開してサーバーにコピーするだけです。SVNにビルド番号とブランチ名を含むファイルを作成

ライブシステムで現在実行中のバージョンのログとして機能するリビジョン番号とブランチ名を含むテキストファイルなどを持つことは非常に便利です。

これは、SVNフックまたはビジュアルスタジオの簡単なポストビルドスクリプトを使用して行うことはできますか?

答えて

4

私は

それをやったかの完全な内訳は、version.txtを呼ばれるWebサイトのルートにある空白のテキストドキュメントを作成しています。

は右あなたのウェブサイトのプロジェクトを右クリックし、プロパティを選択し、以下の内容

Revision: $WCREV$ 
Repository: $WCURL$ 
Modified: $WCMODS?Yes:No$ 
Built On: $WCNOW$ 

でVersion.tmplと呼ばれるWebサイトのルートに2つ目のテキストドキュメントを作成します。次に、[イベントの作成]タブに移動します。

イベントを構築し、あなたのポストに次のように貼り付けます。

cd $(ProjectDir) 
"%ProgramFiles%\TortoiseSVN\bin\SubWCRev.exe" ..\. Version.tmpl Version.txt 

これはテンプレートとしてVersion.tmplを使用して、version.txtを作業コピーに関するいくつかの詳細にファイルを更新します。 Version.txtがあなたのWebサイトに含まれているという事実は、Webサイトが展開されるたびに、展開されたバージョンにコードベースを戻す必要がある場合、Version.txtも展開され、有用な情報が含まれることを意味します。

0

svnversionは、作業コピーの現在のリビジョンをチェックするためのツールです。

0

Windowsの場合、Subwcrevです。

+0

ありがとうございます。これを実装する方法についてもっと完全なコードを提供できるでしょうか? –

0

ビルドスクリプトで実行できる場合があります。リポジトリのルートにある.svn \ entriesファイルを見てください。ファイルの早い段階でリビジョン番号が含まれている必要があります(5行目)

0

私はビルドツールとしてantを使用しているので、svnversionの出力をsvn-versionファイルに保存するantターゲットがあります。その目標はすべての主要なエントリポイントの依存関係です。したがって、私がantを実行するたびに、svn-versionが更新されます。私はパッケージング操作にすべての提供可能なtarファイルとzipファイルにsvn-versionを含めるようにしました。ですから、私はいつもsvn-versionを見て、どのバージョンのコードがインストールされているかを調べることができます。

あなたが使用しているビルドツールは、同じことができるはずです。 svnversionからのデータが十分でない場合は、svn infoの出力をファイルに追加することもできます。

0

私もAntを使用し、ローカルリポジトリ(コードがチェックアウトされている場合)またはリモートSubversionサーバー(コードがエクスポートされた場合)からSubversion情報を取得して利用できるようにするspecial Taskを開発しました通常のAntプロパティを介して

Ant置換メカニズム(たとえば、コピータスク)を使用すると、これらの値を適切な場所に配置できます。

関連する問題