Visual Studio Team Servicesの新しいリリース管理システムのプレビューでタイヤを蹴っています。私のシナリオは、VSTSでホストされるGitリポジトリを備えたクラシックWebサイト(ASP.NET 4.5)です。ビルド定義は、次のように成功しています。
以下に示すように、Release Managerが取得できるアーティファクトとして公開するように設定されています。
リリースマネージャー側では、次のようにアーティファクトが適切にリンクされています。
そしてここで、私の環境と関連タスクを見ることができます(3つすべてがクローンです)
ビルドが正常に公開されるリリースを実行すると、サブスクリプションに接続しますが、パッケージファイルを見つけようとすると、出力ログの101行目に次のエラーが表示されます。
"検索パターン「C:\ a\4fe43dd1a ***。Zip」でデプロイするファイルが見つかりませんでした」
完全な出力は次のとおりです。
これは、VSTSを介したアーティファクトリンクがこのパスを解決するはずだと思ったためです。明らかに私はどこかでパズルの重要な部分を見逃していますが、可能な限り最善の方法で利用可能なドキュメントに従っています。
誰かが解決策を持っているか、私を正しい方向に向けることができるなら、それは大歓迎です!
---編集---
ファイルピッカーを使用して、Webデプロイパッケージを選択しました(以下を参照)。ルートWebサイトとbinフォルダーを使用してみました。両方の試行の結果、次のエラーが表示されます: "検索パターン 'C:\ a\4fe43dd1a\Classic Website Definition\drop\ClassicWebsite\bin'で展開するファイルが見つかりませんでした"
---編集2 ---
次のMSBuildArgumentsを使用して、MSBuildタスクをBUILDプロセスに追加しました
/p:OutDir=$(build.stagingDirectory) /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true
成果物のコピー/公開タスクでは、出力を.Zipファイルのみのコピーに制限しました。リリースプロセスでは、「Web配置パッケージ」を検索するためにナビゲートすると、「ドロップ」フォルダーが空になります。これがスクリーンショットです:
私は正しい道を進んでいると思います。RELEASEプロセスで使用する適切なアーティファクトを生成するために、BUILDタスクを調整するために考え出す助けが必要です。任意の助けをいただければ幸いです。
$(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