1つのMSBuildスクリプトから複数のMSBuildスクリプトを呼び出す方法
-
06-07-2019 - |
質問
展開用に3つのMSBUildスクリプトがありますが、 UIを展開するための1 1つのWebサービスのデプロイ用。 バックエンドサービスをデプロイする場合は1。
ここで、TeamCityサーバーから実行できる上記の3つのスクリプトをすべて呼び出すワンクリック展開MSBuildスクリプトを作成したいと思います。
では、これら3つのMSBuildスクリプトを異なるMSBuildスクリプトから呼び出すにはどうすればよいですか。
他のヒント
TeamCity Serverを使用したことはありませんが、3つのビルドスクリプトを1つのスクリプトに結合する方法が考えられます。そして、3つの個別のスクリプトのタスクをマスタービルドファイルの個別のターゲットに配置します。したがって、3つの別個のビルドスクリプトの代わりに、3つのターゲット、つまりdeployUI、deployServices、deployBackendを含む1つのビルドスクリプトがあります。以下のテストされていないサンプル:
<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="DefaultTarget" ToolsVersion="3.5">
<Target Name="DefaultTarget">
<CallTarget Targets="deployUI" ContinueOnError="false"></CallTarget>
<CallTarget Targets="deployServices" ContinueOnError="false"></CallTarget>
<CallTarget Targets="deployBackend" ContinueOnError="false"></CallTarget>
</Target>
<Target Name="deployUI">
<!-- Put UI deployment tasks here -->
</Target>
<Target Name="deployServices">
<!-- Put Services deployment tasks here -->
</Target>
<Target Name="deployBackend">
<!-- Put Backend deployment tasks here -->
</Target>
</Project>
MSBuild 4.0のオプションは、条件付きでインポートすることです3プロジェクトファイルをワンクリックで展開するMSBuildスクリプト:
<Import Project="ProjectPath1" Condition="'$(DeployUI)'!=''" />
<Import Project="ProjectPath2" Condition="'$(DeployWebServices)'!=''" />
<Import Project="ProjectPath3" Condition="'$(DeployBackendServices)'!=''" />
<Target Name="DeployTheWorld">
<Message Text="Deploying..." />
</Target>
AfterTargets機能を使用しますa>インポートした個別のプロジェクトファイルで実行するターゲット:
<Target Name="DeployUI" AfterTargets="DeployTheWorld">
<Message Text="Hello from DefaultAfterTarget"/>
</Target>
これにより、TeamCity内からデプロイメントを柔軟にカスタマイズできます。
所属していません StackOverflow