5

TeamCity を使用して、ビルド後にデータベース プロジェクトの公開を自動化しようとしています。

「パブリッシュ」ターゲットで MSBuild ランナーを使用しています

私の SQL プロジェクトには、発行プロファイル ファイル「Test.publish.xml」が含まれています。

この MSBuild パラメーターを使用して、使用する発行プロファイル ファイルを MSBuild に指示しました。

/p:SqlPublishProfilePath=Test.publish.xml

プロジェクトの出力パスが変更されたため、デフォルトの「bin\Output」ではなく「sql\Staging」になりました。

ビルドステップが実行されると、次のエラーが表示されます。

[12:19:11]Step 3/3: Publish (MSBuild) (5s)
[12:19:15][Step 3/3] Alpha\Alpha.sqlproj.teamcity: Build target: Publish
[12:19:15][Alpha\Alpha.sqlproj.teamcity] SqlPublish
[12:19:15][SqlPublish] SqlPublishTask
[12:19:15][SqlPublishTask] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets(1717, 5): File "D:\BuildAgent\work\8c364da49a1f90ba\Alpha\bin\Output\Alpha.sqlproj.dacpac" does not exist.
[12:19:16][Step 3/3] Step Publish (MSBuild) failed

ご覧のとおり、変更された出力ディレクトリ パスではなく、標準の bin\Output ディレクトリで .dacpac ファイルを探しています。また、dacpac ファイルがAlpha.sqlproj.dacpacと呼ばれることを期待していますが、私の dacpac ファイルはAlpha.dacpacと呼ばれています。

カスタム ビルドの出力ディレクトリを認識していないため、MSBuild に dacpac ファイルの場所を伝える必要があります。別の MSBuild パラメーターまたは発行プロファイル ファイルに追加できるものはありますか?

簡単な代替手段として sqlpackage.exe を使用できることはわかっていますが、SQL Server Data Tools がインストールされ、それは私が取り組んでいる別の戦いです...

4

0 に答える 0