私はASP.NETコアアプリケーションを開発しています。VSTSビルドが出力ファイルを適切なディレクトリに公開していないようです
私はソースコントロール用にVSTSをオンラインで使用しています。私はまた、アプリケーションを構築する専用マシンを持っています。
このプロセスを自動化するために、私は今VSTSオンラインからビルドスクリプトを定義しようとしています。
デフォルトのVSTSテンプレートには、多くのタスクが定義されています。私は自分の目的に合っていないすべてのタスクを削除し、「NuGetを使用する」、「NuGet Restore」、および「Build Solution」という3つのタスクだけを実行しました。
「ソリューションのビルド」タスクのデフォルトのMSBuildの引数は次のとおりです。
/p:DeployOnBuild=true /p:WebPublishMethod=Package
/p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true
/p:DesktopBuildPackageLocation=
"$(build.artifactstagingdirectory)\WebApp.zip"
/p:DeployIisAppPath="Default Web Site"
このスクリプトを実行するにはエラーはありませんが、私はそれは、そのような出力がフォルダに行き、パッケージ化されていないことを変更する必要があります。ここで
は私の質問に関連する私のディレクトリ構造の一部である:ここで
C:\Dev\RCWebsite\RCWebsite.sln
C:\Dev\RCWebsite\RCWeb\RCWeb.csproj
C:\Dev\RCWebsite\RCWeb\Properties\PublishProfiles\FolderProfile.pubxml
は、パブリッシュプロファイルの内容です:
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<PublishProvider>FileSystem</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<ProjectGuid>d7d9f3b7-fd0e-49c1-b6d2-3af5dddb6699</ProjectGuid>
<publishUrl>C:\StagingSites\rcweb</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles>
</PropertyGroup>
コンソールウィンドウから、私は実行することができます次のコマンド:
msbuild .\RCWeb\RCWeb.csproj /p:DeployOnBuild=true
/p:PublishProfile=RCWeb\Properties\PublishProfiles\FolderProfile.pubxml
これは期待どおりに動作します。最終出力はC:\StagingSites\rcweb\
ディレクトリに生成されます。このコマンドの機能として
、私はとVSTS「ソリューションのビルド」タスクでMSBuildの引数を置き換え:私は、引数として.\RCWeb\RCWeb.csproj
を指定していない
/p:DeployOnBuild=true
/p:PublishProfile=rcWeb\Properties\PublishProfiles\FolderProfile.pubxml
注意。ビルドの仕組みが自動的にこれを処理すると思います。
このビルドを実行してログファイルを見ると、ソリューションが正常に構築されていることがわかります。ただし、C:\StagingSites\rcweb\
ディレクトリにコピーされることはありません。
誰かが私に行方不明を教えてもらえますか? 「ソリューションの構築」タスクの後に別の「展開」タスクが必要ですか?よろしく。
パブリッシュプロファイルへのフルパスを指定してみましたか? '$(Build.SourcesDirectory)'はあなたにルートフォルダを与えます。 –
ご協力いただきありがとうございます。私はそれを試みます。私は、パブリッシュプロファイルファイルが見つからなかった場合、ログファイルにエラーが表示されると想定しました。 – Peter
残念なことに:-( – Peter