2016-07-06 10 views
0

私たちはソース管理システムとしてGitとともにVisual Studio Team Servicesを使用しており、オンラインで正常に実行されるビルドを設定しました。 VSO、プリコンパイルでサイトを構築した後Visual Studio Team ServicesからのWebサイトのプリコンパイルとデプロイ

  1. をして、オンプレミスWebサーバー上のgitリポジトリ
  2. へのaspxと.dllファイルをダンプにgitから引くとに移動:理想的には私はしたいのですが私たちのステージングサイト

2番目の部分は私自身では分かりますが、VSTeamのドキュメントは、コンパイルされたソースをgitにダンプする方法を概略しています。私はPowershell script which is supposed to create artifacts for the dropを除いて、デフォルトとほぼ同じデフォルトビルド設定を保持しています。それにもかかわらず、drop.zipファイルの作成は空です。

次に、ビルド定義がVSOにどのように設定されているかを示します。

VSO Build Definition

+0

ファイルを保存するためのリモートGitリポジトリがありますので、Webサーバーからファイルを取得できますか? –

答えて

1

私はパワーシェルスクリプトで簡単に見ていた、それには2つの問題があります。存在しません:

  1. は、それはまだ「TF_BUILD_SOURCESDIRECTORY $ ENV」のような変数を使用VSTS内(VSO)。 VSTSの場合は​​を参照してください。
  2. "BUILD_SOURCESDIRECTORY"フォルダから "BUILD_BINARIESDIRECTORY"にファイルをコピーします。しかし、定義内の "ビルド成果物の公開"ステップは、 "BUILD_ARTIFACTSTAGINGDIRECTORY"フォルダ内のファイルを公開します。

このスクリプトを使用したいのであれば、あなたは(変数に「TF_」の文字列を削除し、「BUILD_BINARIESDIRECTORY」フォルダ内のファイルを公開するステップ「成果物を作成公開」を更新するためのスクリプトを更新する必要がありますパブリッシュするパスを$(Build.BinariesDirectory)に設定します。

あなたがウェブサイトのファイルをコピーして公開したい場合は、あなたは、単にステップ「を構築するのVisual Studio」の「MSBuildの引数」セクションの1つの以上の引数を追加することができます。

"/p:outdir=$(build.artifactstagingdirectory)" 

パワーシェルを削除しますスクリプトステップと他のステップはデフォルト設定をそのまま維持します。

また、[ファイルをコピー]の設定を変更して、コピーするファイル/フォルダを選択することもできます。

enter image description here

これは、自動的に以下となります。代わりにPowerShellスクリプトを、あなたが使用することができるよう、「コピーをしてアーティファクトを公開する」と、それはあなたが必要とする特定のビットで、特定のアーティファクトを作成する必要があるだろう

+0

ありがとうございます。残念ながら、これは何もしないようです。コピーされるファイルはありません。 – Echilon

+0

@エチロンAsp.Netコアプロジェクトを構築していますか? –

+0

いいえ、標準的なASP.NETサイトです。 – Echilon

3

名前付きビルドアーチファクトを作成し、リリース管理から入力として使用することができます。

"Project Output | As Configured"オプションと共に使用すると、PowerShellスクリプトがXAMLビルドで使用されました。

あなたの「パッケージ化」のウェブサイトを作成するには、あなたがあなたのウェブサイトをパッケージ化するコンパイラをinstrictするためのMSBuild/Visual Studioのビルドステップにパラメータのカップルを追加する必要があります。

/p:DeployOnBuild=true /p:DeployTarget=Package 
/p:SkipInvalidConfigurations=true /p:PackageAsSingleFile=false 
/p:AspNetCompileMerge=true 

必要に応じて、あなたの目標を設定することができますディレクトリも同様に使用します。

/p:PackageLocation="$(Build.BinariesDirectory)\Published" 

これを行う場合は、このディレクトリをコピーおよび発行タスクでコピールートとして設定する必要があります。

+0

これは私が今までに一番近いところです。ディレクトリが作成され、repoルートのPowerShellスクリプトがコピーされます。私はドキュメンテーションでそれへの参照を参照することはできませんが、私はWebサイトと同様に、追加の配備プロジェクトが必要であると感じています。 – Echilon

+0

ビルド時のパッケージングを有効にするには、いくつかのmsbuildパラメータを追加する必要があります。 – jessehouwing

+0

ビルドは成功しましたが、コンパイルされたファイルはどこにも見えません。 – Echilon

関連する問題