如何将asp.net核心web作业发布到azure app服务

Lie*_*ero 7 azure azure-webjobs .net-core asp.net-core visual-studio-2017

我已经开始使用asp.net core 2 web应用程序,我可以使用Web部署从Visual Studio将其发布到App Service.

我已经创建了新的干净.net核心2控制台应用程序.我可以将其作为webjob上传并使用Azure Portal运行,但如何从本地命令行或Visual Studio发布它?

基本上,我不关心它是与Web应用程序一起发布还是作为独立发布.

编辑:我通过右键单击项目并选择发布(不发布为Azure WebJob)作为文档中的menioned,以某种方式设法获得发布对话框.但我仍然不知道诀窍是什么.安装Azure SDK?添加webjob-publish-settings.json?添加Setting.job?

Joe*_*Cai 6

使用Azure门户将.net核心发布为webjob:

如你所知:

WebJob查找特定的文件类型,例如(.cmd,.bat,.exe等...)要运行.NET Core控制台应用程序,请使用DOTNET命令

因此,您需要创建一个扩展名为WebJob的文件,以查找执行的文件.

1.您可以创建一个.net核心协作应用程序.运行它之后,您将在projectname/bin/Debug/netcoreapp2.0中获得以下文件

在此输入图像描述 2.在其下创建一个run.cmd文件.run.cmd内容如下:

@echo off

dotnet ConsoleApp7.dll
Run Code Online (Sandbox Code Playgroud)

3.要将.NET Core控制台应用程序部署到Azure App Service Web App Web作业,请访问Azure门户并导航到将承载WebJob的Azure App Service.单击WebJobs链接和"添加"按钮. 在此输入图像描述 4.上传netcoreapp2.0.zip

在此输入图像描述

5.一旦WebJob成功上传,它将在WebJob刀片中呈现.单击它,您将看到"运行"按钮.

在此输入图像描述 6.使用WriteLine()方法将输出写入控制台时,它将显示在KUDU/SCM的"运行详细信息"窗口中.

在此输入图像描述

欲了解更多的细节,你可以参考这个文章和这一个.

更新:(使用命令行发布)

1.首先,从Azure门户下载您的webapp的发布设置文件. 在此输入图像描述

2.准备您创建的.zip文件夹.

正如大卫所说,你可以使用WAWSDeploy来发布带有命令行的webjob.您可以使用此链接下载WAWSDeploy .

3.然后转到WAWSDeploy/bin/Debug文件夹以打开本地命令行.尝试使用以下命令部署webjob:

WAWSDeploy.exe DotNetCoreWebJobSample.zip [WEBSITE_NAME].PublishSettings /t app_data\jobs\triggered\DotNetCoreWebJobSample /v
Run Code Online (Sandbox Code Playgroud)

目标目录将是app_data\jobs\triggered\[WEBJOB_NAME].如果此Web作业是连续运行的,则用连续替换触发.

注意:您可以将WAWSDeploy.exe并将设置文件和.zip发布到文件夹中.如果没有,您应该提供发布设置和.zip文件的完整路径.这样您就可以成功发布webjob.

有关WAWSDeploy的更多详细信息,请参阅此文章.


Lie*_*ero 3

确保您的 csproj 包含正确的 SDK:

<Project Sdk="Microsoft.NET.Sdk;Microsoft.NET.Sdk.Publish">
Run Code Online (Sandbox Code Playgroud)

然后只需右键单击 Visual Studio 中的项目并单击发布,选择 Microsoft Azure App Service,您应该会看到 WebJob 发布选项: 在此输入图像描述

另请注意,您应该使用Microsoft.NET.Sdk而不是Microsoft.NET.Sdk.Web

如果您使用的是 Microsoft.NET.Sdk.Web,Visual Studio 会假定您正在部署到 WebSite 而不是 WebJob。WebSite 和 WebJob 的发布对话框略有不同。例如,对于 WebJob 项目,您可以指定 WebJob 名称。

您可能感兴趣: