2009-10-27 12 views
5

チームビルド2010ベータ2を使用してSQLデータベースプロジェクトをSQLサーバーにプッシュする方法について、チームシステムビルド2010(ベータ2)を使用してSQLデータベースプロジェクトを展開する

VSTS 2008では、TFSBuild.projファイルでtargets属性を「deploy」に設定したMSBuildコマンドを追加するだけですが、2010年が使用する新しいワークフローベースのxamlに変換するのは少し問題です。

私が探しているのは、実際にデータベースを展開する方法です。すでにデプロイメントスクリプトを生成しています。ここで

答えて

6

、vsdbcmd.exeを使用して起動プロセスを使用: http://msdn.microsoft.com/en-us/library/ff805001.aspx

+0

ありがとうございました!私はその記事を見逃してしまい、この問題を本当に解決したことはありませんでした。 –

+0

夜間のビルドをするときは、それは私だけですか、これはほとんど不可能ですか? –

+0

正直言って、チームビルドを使用してDBを導入することを断念しました。私は代わりに、私たちの開発プロセスの一部として維持しているSQL Expressファイル添付の参照データベースを使用するために夜間にすべてを切り替えました。 DBプロジェクトの内容をチェックインする際には、スキーマ比較を使用して、変更を参照DBに書き込むようにしてください。このように、私たちはDBプロジェクトを使用することができます。夜間に「ビルド」を行い、DBプロジェクトの配備を心配する必要はありません。 –

1

は一例です:

http://www.nablasoft.com/alkampfer/index.php/2009/10/06/deploy-a-database-project-with-tfs-build/

それはあなたが単にDeployToDatabase =真

+0

はい、まさにあなたがそれを行う方法です... VS 2008でチームビルド2008を使用しています。必要なのは、ビルドを制御するためにxamlベースのWindowsワークフローファイルを使用しているtfs 2010で同じことを行う方法に関する情報ですプロセス。 –

+0

私はmsbuild引数に "/ t:Build、Deploy"を追加するためにXAMLを編集しなければなりませんでした(MSの恐ろしい遅いビジュアルXAMLエディタで!)。 –

0

が欠落している、私がこれまでに見つけた最も近いものは、ジム・ラムからthis postされている可能性があり(マイクロソフトのTeam Foundation PM)。

ここでは、カスタムprojファイルを作成し、デフォルトのビルドプロセステンプレートを変更してprojファイルを呼び出す方法について、漠然と述べています。

また、私はこれまで無視していたアップグレードテンプレートの使用について話します。 2008年のビルド定義を呼び出すために、アップグレードテンプレートを使用できます。私はむしろ、従来のprojファイルに基づいてビルド全体を呼び出して定義するのではなく、少なくともオプションです。

いずれのトピックにも、実際に修正を加えるための十分な情報はありませんが、今後の実験では合理的な出発点です。まだ答えを探している人のために

+0

私は同じ問題があります。これまでに答えを得ましたか? – aquinas

+0

Nope。答えは決して見つかりませんでした。私はRTMが2010年になるまでアップグレードを延期しました。うまくいけば、リリースには、より多くの機能や、少なくともワークフローをカスタマイズするためのドキュメントと手順が追加されます。 –

1

増分データベースのアップグレードを必要としない場合は、この問題に対する別の解決策があります。したがって、各ビルドのデータベースを再作成しても大丈夫なら、次のようにも動作します。

は「My project settings」の展開設定を構成するデータベースプロジェクトファイルに

をdeployターゲットを追加します。これらの設定は、ソリューションをビルドするときにビルドサーバーによって使用されます。ローカルでビルドする場合、使用される設定は 'My isolated development environment'のものになります。

  1. データベースプロジェクトのプロパティで

展開アクションは「Create a deployment script (.sql) and deploy the database」である必要があります。これはスクリプトの実行を阻止し、スクリプトを作成するだけです。

  1. データベースプロジェクトファイル

、データベースプロジェクトファイル(右クリックして、データベースプロジェクトを変更するアンロードを選択し、もう一度右クリックし、[編集]、[プロジェクト名]を選択します。

<Project DefaultTargets="Build;Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 

からdbproj) ビルドサーバはデフォルトのターゲットは、データベースを展開する追加、データベースプロジェクトを含むソリューションを構築します。このビルドでは、[My project settings]の[展開]設定が使用されます。

賛否

  • 開発者がソリューションの地元を再構築しないと、デフォルトのターゲットは、構築、配備する変更されているので簡単には

短所

  • を設定するには、また、データベースを展開します(建物のみが展開をトリガーしません)
関連する問題