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

时间:2018-03-14 14:45:42

标签: azure asp.net-core visual-studio-2017 .net-core azure-webjobs

我已经开始使用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?

3 个答案:

答案 0 :(得分:6)

将.net核心发布为带有Azure门户的webjob

如你所知:

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

因此,您需要创建一个扩展名为WebJob的文件,以便执行该文件。

1.您可以创建一个.net核心协作应用程序。运行后,您将在projectname / bin / Debug / netcoreapp2.0

中获得以下文件

enter image description here 2.在其下创建一个run.cmd文件。 run.cmd内容如下:

@echo off

dotnet ConsoleApp7.dll

3.要将.NET Core控制台应用程序部署到Azure App Service Web App Web作业,请访问Azure门户并导航到将托管WebJob的Azure App Service。 单击WebJobs链接和“添加”按钮。 enter image description here 4.上传netcoreapp2.0.zip

enter image description here

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

enter image description here 6.使用WriteLine()方法将输出写入控制台时,它将显示在KUDU / SCM的“运行详细信息”窗口中。

enter image description here

有关详情,请参阅此article和此one

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

1.首先,从Azure门户下载您的webapp的发布设置文件。 enter image description here

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

正如David所说,您可以使用WAWSDeploy使用命令行发布webjob。 您可以使用此link下载WAWSDeploy。

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

WAWSDeploy.exe DotNetCoreWebJobSample.zip [WEBSITE_NAME].PublishSettings /t app_data\jobs\triggered\DotNetCoreWebJobSample /v

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

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

有关WAWSDeploy的更多详细信息,请参阅此article

答案 1 :(得分:2)

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

<Project Sdk="Microsoft.NET.Sdk;Microsoft.NET.Sdk.Publish">

然后右键单击Visual Studio中的项目并单击“发布”,选择“Microsoft Azure App Service”,您将看到WebJob发布选项: enter image description here

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

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

您可能对以下内容感兴趣:

答案 2 :(得分:0)

关于Develop and deploy WebJobs using Visual Studio - Azure App Service的问题很清楚,涵盖了你的问题。

基本上在安装必备软件后(取决于您的VS版本),您可以 右键单击解决方案资源管理器中的控制台应用程序项目,然后单击发布为Azure WebJob