web-dev-qa-db-ja.com

VSTSリリース管理からWebSiteビルドをAzureにデプロイする

Visual Studio Team Servicesの新しいリリース管理システムのプレビューでタイヤを蹴っています。私のシナリオは、VSTSでホストされるGitリポジトリを備えたクラシックWebサイト(ASP.NET 4.5)です。ビルド定義は、次のように成功しています。

enter image description here

以下に示すように、Release Managerが取得できるアーティファクトとして公開するように設定されています。

enter image description here

リリースマネージャー側では、次のようにアーティファクトが適切にリンクされています。

enter image description here

そしてここで、私の環境と関連タスクを見ることができます(3つすべてがクローンです)

enter image description here

ビルドが正常に公開されるリリースを実行すると、サブスクリプションに接続しますが、パッケージファイルを見つけようとすると、出力ログの101行目に次のエラーが表示されます。

"検索パターン「C:\ a\4fe43dd1a ***。Zip」でデプロイするファイルが見つかりませんでした」

完全な出力は次のとおりです。

enter image description here

これは、VSTSを介したアーティファクトリンクがこのパスを解決するはずだと思ったためです。明らかに私はどこかでパズルの重要な部分を見逃していますが、可能な限り最善の方法で利用可能なドキュメントに従っています。

誰かが解決策を持っているか、私を正しい方向に向けることができるなら、それは大歓迎です!

---編集---

ファイルピッカーを使用して、Webデプロイパッケージを選択しました(以下を参照)。ルートWebサイトとbinフォルダーを使用してみました。両方の試行の結果、次のエラーが表示されます: "検索パターン 'C:\ a\4fe43dd1a\Classic Website Definition\drop\ClassicWebsite\bin'で展開するファイルが見つかりませんでした"

enter image description here

---編集2 ---

次のMSBuildArgumentsを使用して、MSBuildタスクをBUILDプロセスに追加しました

/p:OutDir=$(build.stagingDirectory) /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true

成果物のコピー/公開タスクでは、出力を.Zipファイルのみのコピーに制限しました。リリースプロセスでは、「Web配置パッケージ」を検索するためにナビゲートすると、「ドロップ」フォルダーが空になります。これがスクリーンショットです:

enter image description here

私は正しい道を進んでいると思います。RELEASEプロセスで使用する適切なアーティファクトを生成するために、BUILDタスクを調整するために考え出す助けが必要です。任意の助けをいただければ幸いです。

27
INNVTV

展開パッケージは成果物フォルダーにコピーされません。そのため、リリース管理はパッケージを見つけることができません。 「ビルドアーティファクトのコピーと公開」を次のように設定すると、問題が解決するはずです。 VSTS Copy and Publish Artifacts drop build step

23

$(System.DefaultWorkingDirectory)$(Agent.ReleaseDirectory)に変更します。アーティファクトはそのフォルダーに配置されます。 $(System.DefaultWorkingDirectory)が何に対応するのか正確にはわかりませんが、私の印象では、それはリリースのためにエージェントが使用するフォルダーの外にあるものです。

また、公開されたアーティファクトに期待されるZipファイルが含まれていることを確認します-展開パッケージが作成されていない場合、またはパッケージを含む出力フォルダーを公開していない場合、明らかに後でリリースすることはできません。

Webアプリケーションをビルドするときは、パッケージ化するMSBuild引数を使用して、展開用のパッケージングであることを確認してください。このような何かが動作するはずです:

/p:OutDir=$(build.stagingDirectory) /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true

5
Daniel Mann