如何将 asp.net 核心 Web 作业发布到 Azure 应用服务
How to publish asp.net core web job to azure app service
我已经开始使用 asp.net 核心 2 网络应用,我可以使用网络部署从 Visual Studio 将其发布到应用服务。
我创建了新的干净的 .net core 2 控制台应用程序。我可以使用 Azure 门户将其上传为网络作业和 运行,但是 我如何从本地命令行或 Visual Studio 发布它?
基本上,我不关心它是与 Web 应用程序一起发布还是独立发布。
编辑:我以某种方式设法通过右键单击项目并选择发布(而不是发布为 Azure WebJob)来获取发布对话框,如文档中所述。但我仍然不知道是什么把戏。安装 Azure SDK?添加 webjob-publish-settings.json?添加 Setting.job?
关于 Develop and deploy WebJobs using Visual Studio - Azure App Service 的一篇很棒的文章涵盖了您的问题。
基本上安装先决条件后(取决于你的VS版本)你可以
Right-click 解决方案资源管理器中的控制台应用程序项目,然后单击 发布为 Azure WebJob。
使用 Azure 门户将 .net 核心发布为 webjob:
如您所知:
WebJob 查找特定文件类型,例如(.cmd、.bat、.exe 等...)
要 运行 .NET Core 控制台应用程序,您可以使用 DOTNET 命令
因此,您需要创建一个扩展名为 WebJob 的文件来寻找执行的文件。
1.You 可以创建 .net 核心控制台应用程序。在 运行 之后,您将在 projectname/bin/Debug/netcoreapp2.0
中拥有以下文件
2.Create 下有一个 run.cmd 文件。 run.cmd 内容如下:
@echo off
dotnet ConsoleApp7.dll
3.To 将 .NET Core 控制台应用程序部署到 Azure 应用服务 Web 应用 Web 作业访问 Azure 门户并导航到您将在其中托管 WebJob 的 Azure 应用服务。
单击 WebJobs link 和添加按钮。
4.Upload netcoreapp2.0.zip
5.Once WebJob 已成功上传,它将在 WebJob blade 中呈现。单击它,您将看到 运行 按钮。
6.When 您使用 WriteLine() 方法将输出写入控制台,它将显示在 运行 详细信息 window 上 KUDU/SCM。
更详细的可以参考这个article and this one.
更新:(使用命令行发布)
1.First,从 Azure 门户下载您的 webapp 的发布设置文件。
2.Prepare 您创建的 .zip 文件夹。
正如 David 所说,您可以使用 WAWSDeploy 通过命令行发布 webjob。
您可以使用 link.
下载 WAWSDeploy
3.Then进入WAWSDeploy/bin/Debug文件夹打开本地命令行。
尝试使用以下命令来部署网络作业:
WAWSDeploy.exe DotNetCoreWebJobSample.zip [WEBSITE_NAME].PublishSettings /t app_data\jobs\triggered\DotNetCoreWebJobSample /v
目标目录将为 app_data\jobs\triggered\[WEBJOB_NAME]
。如果此 Web 作业是连续 运行ning 作业,请将触发替换为连续。
注意:您可以将 WAWSDeploy.exe 和发布设置文件以及 .zip 放入一个文件夹中。如果没有,您应该提供发布设置和 .zip 文件的完整路径。这样您就可以成功发布webjob了。
有关 WAWSDeploy 的更多详细信息,请参阅此 article。
确保您的 csproj 包含正确的 SDK:
<Project Sdk="Microsoft.NET.Sdk;Microsoft.NET.Sdk.Publish">
然后只需右键单击 Visual Studio 中的项目并单击发布,select Microsoft Azure App Service 您应该会看到 WebJob 发布选项:
另请注意,您应该使用 Microsoft.NET.Sdk
而不是 Microsoft.NET.Sdk.Web
如果您正在使用 Microsoft.NET.Sdk.Web,Visual Studio 假定您正在部署到 WebSite 而不是 WebJob。 WebSite 和 WebJob 的发布对话框略有不同。例如,对于 WebJob 项目,您可以指定 WebJob 名称。
您可能感兴趣:
我已经开始使用 asp.net 核心 2 网络应用,我可以使用网络部署从 Visual Studio 将其发布到应用服务。
我创建了新的干净的 .net core 2 控制台应用程序。我可以使用 Azure 门户将其上传为网络作业和 运行,但是 我如何从本地命令行或 Visual Studio 发布它?
基本上,我不关心它是与 Web 应用程序一起发布还是独立发布。
编辑:我以某种方式设法通过右键单击项目并选择发布(而不是发布为 Azure WebJob)来获取发布对话框,如文档中所述。但我仍然不知道是什么把戏。安装 Azure SDK?添加 webjob-publish-settings.json?添加 Setting.job?
关于 Develop and deploy WebJobs using Visual Studio - Azure App Service 的一篇很棒的文章涵盖了您的问题。
基本上安装先决条件后(取决于你的VS版本)你可以 Right-click 解决方案资源管理器中的控制台应用程序项目,然后单击 发布为 Azure WebJob。
使用 Azure 门户将 .net 核心发布为 webjob:
如您所知:
WebJob 查找特定文件类型,例如(.cmd、.bat、.exe 等...) 要 运行 .NET Core 控制台应用程序,您可以使用 DOTNET 命令
因此,您需要创建一个扩展名为 WebJob 的文件来寻找执行的文件。
1.You 可以创建 .net 核心控制台应用程序。在 运行 之后,您将在 projectname/bin/Debug/netcoreapp2.0
中拥有以下文件@echo off
dotnet ConsoleApp7.dll
3.To 将 .NET Core 控制台应用程序部署到 Azure 应用服务 Web 应用 Web 作业访问 Azure 门户并导航到您将在其中托管 WebJob 的 Azure 应用服务。
单击 WebJobs link 和添加按钮。
5.Once WebJob 已成功上传,它将在 WebJob blade 中呈现。单击它,您将看到 运行 按钮。
更详细的可以参考这个article and this one.
更新:(使用命令行发布)
1.First,从 Azure 门户下载您的 webapp 的发布设置文件。
2.Prepare 您创建的 .zip 文件夹。
正如 David 所说,您可以使用 WAWSDeploy 通过命令行发布 webjob。 您可以使用 link.
下载 WAWSDeploy3.Then进入WAWSDeploy/bin/Debug文件夹打开本地命令行。 尝试使用以下命令来部署网络作业:
WAWSDeploy.exe DotNetCoreWebJobSample.zip [WEBSITE_NAME].PublishSettings /t app_data\jobs\triggered\DotNetCoreWebJobSample /v
目标目录将为 app_data\jobs\triggered\[WEBJOB_NAME]
。如果此 Web 作业是连续 运行ning 作业,请将触发替换为连续。
注意:您可以将 WAWSDeploy.exe 和发布设置文件以及 .zip 放入一个文件夹中。如果没有,您应该提供发布设置和 .zip 文件的完整路径。这样您就可以成功发布webjob了。
有关 WAWSDeploy 的更多详细信息,请参阅此 article。
确保您的 csproj 包含正确的 SDK:
<Project Sdk="Microsoft.NET.Sdk;Microsoft.NET.Sdk.Publish">
然后只需右键单击 Visual Studio 中的项目并单击发布,select Microsoft Azure App Service 您应该会看到 WebJob 发布选项:
另请注意,您应该使用 Microsoft.NET.Sdk
而不是 Microsoft.NET.Sdk.Web
如果您正在使用 Microsoft.NET.Sdk.Web,Visual Studio 假定您正在部署到 WebSite 而不是 WebJob。 WebSite 和 WebJob 的发布对话框略有不同。例如,对于 WebJob 项目,您可以指定 WebJob 名称。
您可能感兴趣: