2017-01-12 17 views
2

ソリューションをビルドするビルドを作成し、必要に応じてweb.configトランスフォームを適用し、最後にビルドの成果物領域に目的の出力(ビルド済みWeb APIプロジェクト)をコピーしようとしています。チームサービスビルド成果物

私は、Azure WebサービステンプレートをAzure Appサービス展開ステップで使用していません(Azureへの移行の途中です)。ビルドステップでは次のビルド引数を使用しています。

/P:DeployOnBuild =真/ P:WebPublishMethod =パッケージ/ P:PackageAsSingleFile =真/ P:SkipInvalidConfigurations =真/ P:PackageLocation = "$(build.artifactstagingdirectory)\"/P:AutoParameterizationWebConfigConnectionStrings = Falseの

結果のzipファイルの構造とは別に、期待どおりの動作をします。

{ZipFileName} {ProjectName \ Content \ C_C \ a \ 1 \ s \ Api {ProjectName \ obj \ Release \ Package \ PackageTmp ... {BuildContent}

コンテンツのルートにしたい可能であれば公開されたzipファイルPowershellやその他の組み込みビルドタスクを使用して$(build.artifactstagingdirectory)の内容を操作する最善の方法はありますか?

+0

? –

+0

はい、ひどく書いてあり、編集しました。 –

+0

@MattRowettこの問題を解決しますか? –

答えて

2

それはフォルダ構造を維持しませんので、あなたが(例えばIIS、AzureのWebアプリケーション)Webサーバにデプロイした後(PackageTmpフォルダ内だけでファイルとフォルダ)、それを心配する必要はありません

それでもPackageTmpフォルダにファイルを含める必要がある場合は、Archive Filesのステップを経てzipファイルにアーカイブするビルドステップを追加できます。

Visual Studioビルドステップでは、/ p:DeployOnBuild = trueをMSBuild引数に指定します。あなたが何を意味する:「構築されたプロジェクトを見つけるためにある」

enter image description here

+0

結果のzipファイルはどこに表示されますか?ビルドサマリーにアーティファクトリンクはありません。 –

+0

アーティファクトの公開ステップの前にアーカイブステップを実行する必要がありました。 –

+0

私は単にアーティファクトのダウンロードでビルドされたプロジェクトを欲しいと思ったので、Publish Artifactを$(build.artifactstagingdirectory)から{Project} I \ obj \ Dev \ Package \ PackageTmp \にパブリッシュするように変更しました。 \ objフォルダがソース管理に存在せず、UI省略記号を使用してブラウズすることができないため、これはあなたの投稿まで明白ではありませんでした。 –

関連する問題