web-dev-qa-db-ja.com

TFS 2015ビルドを使用してWebアプリケーションをビルドおよびデプロイする

TFS 2015(Update 1)をオンプレミスにインストールしたばかりで、新しいTFSビルドシステムを使用して継続的インテグレーション/ビルドシステムを作成しようとしています。ビルドは正常に動作し、青信号が表示されますが、デフォルトのビルドを見ると、binディレクトリからバイナリがビルドされているだけであり、アプリをオンプレミスでローカルサーバーにデプロイする簡単な方法がないようです。 。

ファイルシステムコピーとpowershellスクリプトには2つの展開オプションがあり、それらを使用してファイルを新しいサーバーにコピーするのは確かに十分簡単ですが、ビルドはバイナリのみをビルドしたため、次のツールは表示されません。このためにWebアーティファクト(cshtml、画像、スクリプト、cssなど)を収集します。

徹底的なグーグル検索の後、私はこれについて話す記事を1つだけ見つけました:

http://www.deliveron.com/blog/building-websites-team-foundation-build-2015/

ただし、これはWebDeployを使用し、かなり面倒なデプロイパッケージを作成します。

アーティファクトを備えたサイト(標準のMVC Webアプリケーション、実際にはテストは、プロジェクトの作成ウィザードで作成されたデフォルトのボイラープレートサイトを使用しています)をどのようにして最も簡単な方法でローカルサーバーにデプロイできますか?サーバーにWebDeployをインストールする必要はなく、PowerShellなどを使用して最終的なアーティファクトをデプロイします。

ビルドは、標準のVisual Studioビルドテンプレートであり、4つのステップ(ビルド、テスト、インデックス作成と公開、ビルドアーティファクトの公開)があります。

16

「Visual Studio Build」ステップを使用し、MSBuildの引数として次の行を使用します。

/p:DeployOnBuild=True /p:PublishProfile=$(DeploymentConfiguration)

変数タブページで、DeploymentConfigurationを設定する必要があります。これは、発行プロファイルの名前(pubxmlファイルのファイル名)である必要があります。ファイル名がBuild.pubxmlの場合、公開プロファイルはBuildです。

例えば:

/p:DeployOnBuild=True /p:PublishProfile=Build
15

Ben Dayには、すぐにパッケージ化してから、Release Managerを介して複数の環境にリリースするのに役立つ優れた記事があることを付け加えたかった

彼のmsbuild引数は次のようになります。

/p:DeployOnBuild=True /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl=$(build.artifactstagingdirectory)\for-deploy\website

これと受け入れられた答えの違いは、このパラメーターセットがアーティファクトフォルダー内のすべてをステージングし、ビルドの一部として保存することです。その後、まったく同じコードを繰り返しデプロイできます。

For-deployフォルダーと一緒にweb.env.configファイルをキャプチャし、リリースプロセスでxdt変換を使用して、展開先の環境に合わせてすべてが更新されるようにします。私たちのすべてのWebプロジェクトでうまく機能します。

8
Reacher Gilt