2016-08-12 8 views
12

私はこれがかなり簡単な作業であると思っていましたが、そこには多少の文書がありますが、私はそれには何の不運もせず、かなり古くなっていると仮定しています。Gitを使用して.NET Core Webアプリケーションと一緒にAzure WebJobをデプロイするにはどうすればよいですか?

私はしばらくの間開発してきたAzureでWebJobを設定する必要がある.NET Core MVC 6 Web Appを持っています。私は継続的なデプロイメントシステムを使用してこのアプリケーションと一緒に展開したいAzureは、アプリケーションがすでに使用していることを提供します。

https://github.com/projectkudu/kudu/wiki/Web-Jobs#deploying-net-console-webjobs-alongside-an-aspnet-application

状態::それが可能だクーズーのドキュメントによると、Visual Studioの (WebDeploy)から直接配備する、またはのgit経由とき

をこれは、両方の動作します。

これは、このリンク(https://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-deploy-webjobs/)を参照しています。これは、私が成功を収めようとしてきたものです。

最新バージョンのVisual Studio 2015、.NET Core 1.0.0 &ツールとAzure SDKがあります。

最初に明らかになったことは、私がAzureドキュメントのスクリーンショットに示すような足場のオプションを持っていないことと、記載されているように手作業で設定しようとすることに頼っている欠けている依存関係を見つけられなかったことです。

でも(webjobs-list.jsonwebjob-publish-settings.json)指定された場所に必要なファイルを置いて、私のプロジェクトのためにそれらを設定し、WebJobプロジェクトにMicrosoft.Web.WebJobs.Publishを追加した後、クーズーは、連続的な展開システムを経由してWebJobを見つけることができません。

私はそこで見つけたドキュメントに基づいていくつかのアプローチとバリエーションを試しましたが、それだけではうまくいかず、他のすべての質問は古い年です。

誰かが間違っていることを知っていますか?これは.NET Core MVCの最新バージョンでも可能ですか?

+0

私はVSは、コアとWebJobsを展開することはまだサポートしているとは思いませんアプリ。 –

+0

@DavidEbboその後、最近の最新のように表示させるために、寄稿者がドキュメントの日付に触れるのではなく、ドキュメントにこれを反映させる必要があります。完全に誤解を招く! – Jargon

+0

@DavidEbboこれに関する最新情報はありますか?今すぐ.Net Core Console App WebJobをポータルから配備する必要があり、ここで説明するAsp.Net Coreプロジェクトと一緒に配備することはできません。http://stackoverflow.com/questions/39958252/azure-webjob-removed-after-app -service-publish-with-autoswap – MathiasR

答えて

4

WebJobのファイルは 'App_Data/jobs/continuous'または 'App_Data/jobs/triggered'フォルダに格納されているため、WebアプリケーションとWebJobの両方を展開するために使用できる方法の1つは、これらのフォルダはビルド時に使用します。私はVSツールが更新されている間、これが合うと思います。

私のソリューションは、Visual Studio Team Servicesを使ってAzureにアプリケーションをビルドしてリリースしているので、私のソリューションはあなたと少し異なりますが、コンセプトは同じです。 Visual Studioでポストビルドイベントを使用して、これらのファイルをジョブのフォルダにコピーするスクリプトを実行できます。

  1. コマンドラインタスク: ツール: DOTNET 引数:

  2. Visual Studioのビルドタスクを復元

    以下は、私が構築VSTSに設定した手順は、定義は次のとおりです。 解決策: ** \ MyApp。SLN プラットフォーム: $(BuildPlatform) 構成: $(BuildConfiguration) Visual Studioのバージョン:のVisual Studio 2015

  3. コマンドラインタスク: ツール: DOTNET 引数:公開-c $(BuildConfiguration)

  4. コマンドラインタスク: ツール: DOTNET 引数: -c $(BuildConfiguration)$(Build.SourcesDirectory)を公開\ SRC \ MyApp.Jobs \ project.json

  5. ファイルのコピータスク(これはトリックである): ソースフォルダ:** ターゲットフォルダ:のsrc/MyApp.Web/binに/ $(BuildConfiguration)/ netcoreapp1のsrc/MyApp.Jobs/binに/ $(BuildConfigurationは) 内容を/netcoreapp1.0/publish/ .0/publish/App_Data/jobs/triggered/MyJobName/

  6. アーカイブファイルタスク: ルートフォルダ(またはファイル)がアーカイブする:のsrc/MyApp.Web/binに/ $(BuildConfiguration)はアーカイブパスに プレフィックスルートフォルダ名を/netcoreapp1.0/publish/:未確認 アーカイブタイプ:ジップ アーカイブファイルを作成するには: website.zip 既存のアーカイブを交換してください: ソースフォルダ:は

  7. ファイルのコピータスクをチェックしますの内容: **/* ターゲットフォルダをzip圧縮: $(Build.ArtifactStagingDirectory)

  8. は、成果物を作成公開タスク: パス公開しない: $(Build.ArtifactStagingDirectory) アーティファクト名:ドロップ 案件タイプ:サーバー

+0

恐ろしい!私の頭を叩く数時間後に私のプロジェクトを保存しました=] –

関連する問題