【问题标题】:How do I get a command-line Azure WebJob working from Visual Studio Online?如何从 Visual Studio Online 获取命令行 Azure WebJob?
【发布时间】:2015-08-01 21:06:38
【问题描述】:

我在 Visual Studio Online 上创建了一个 (Git) 存储库,并在其中放置了一个包含两个项目的解决方案:

  1. 一个空的网络项目
  2. 一个简单的命令行应用程序

我右键单击 Web 项目并选择“添加 > 现有项目作为 Azure WebJob”并通过向导。这向两者添加了 Microsoft.Web.WebJobs.Publish 包,以及一些 json 配置文件。我推动一切,等待它构建。

当它出现在 Azure 上时,没有 App_Data 文件夹,因此该作业无法运行。我相信Microsoft.Web.WebJobs.Publish 添加的.targets 应该可以将这一切设置为正确构建。

我什至尝试将我的命令行应用程序更改为直接构建到(website)\App_Data\Jobs\Continuous\MyJob。然而,再一次,一旦它进入 Azure,就没有 App_Data 文件夹(VS Online 构建日志确实显示我的 exe 进入了 App_Data 文件夹)。

我如何让它工作?理想情况下,我想跳过 NuGet 包(我想完全了解发生了什么,而不是仅仅拉入大量库),但最终,我会满足于不工作!

很多年前,AppHarbor 能够将简单的 .exes 作为后台作业运行,我相信它不应该这么复杂。

构建日志

这是构建日志的一些部分,显示作业进入正确的文件夹(注意:网站部分部署良好):

2015-08-01T20:55:51.5459770Z      2>_CopyFilesMarkedCopyLocal:

2015-08-01T20:55:51.5479760Z          Copying file from "C:\a\537fbab6\TuppenySlackBot\packages\SimpleSlackBot.0.1.0.0\lib\net452\SimpleSlackBot.dll" to "..\SlackBotRedirect\App_Data\Jobs\Continuous\TuppenySlackBot\SimpleSlackBot.dll".

2015-08-01T20:55:51.5489762Z        _CopyAppConfigFile:

2015-08-01T20:55:51.5489762Z          Copying file from "App.config" to "..\SlackBotRedirect\App_Data\Jobs\Continuous\TuppenySlackBot\TuppenySlackBot.exe.config".

2015-08-01T20:55:51.5499768Z        CopyFilesToOutputDirectory:

2015-08-01T20:55:51.5509761Z          Copying file from "obj\Debug\TuppenySlackBot.exe" to "..\SlackBotRedirect\App_Data\Jobs\Continuous\TuppenySlackBot\TuppenySlackBot.exe".

2015-08-01T20:55:51.5519765Z          TuppenySlackBot -> C:\a\537fbab6\TuppenySlackBot\SlackBotRedirect\App_Data\Jobs\Continuous\TuppenySlackBot\TuppenySlackBot.exe

2015-08-01T20:55:51.5519765Z          Copying file from "obj\Debug\TuppenySlackBot.pdb" to "..\SlackBotRedirect\App_Data\Jobs\Continuous\TuppenySlackBot\TuppenySlackBot.pdb".

2015-08-01T20:55:51.5569769Z      2>Done Building Project "C:\a\537fbab6\TuppenySlackBot\TuppenySlackBot\TuppenySlackBot.csproj" (default targets).

2015-08-01T20:55:51.5589764Z      1>Done Building Project "C:\a\537fbab6\TuppenySlackBot\TuppenySlackBot.sln" (default targets).

Azure 目录列表

我在Azure门户中访问网站,点击工具,然后控制台,运行dir,没有App_Data

              _    _____   _ ___ ___ 
             /_\  |_  / | | | _ \ __| 
       _ ___/ _ \__/ /| |_| |   / _|___ _ _ 
     (___  /_/ \_\/___|\___/|_|_\___| _____) 
        (_______ _ _)         _ ______ _)_ _ 
               (______________ _ )   (___ _ _) 

Manage your web app environment by running common commands ('mkdir', 'cd' to change directories, etc.) This is a sandbox environment, so any commands that require elevated privileges won't work.

D:\home\site\wwwroot

> dir
D:\home\site\wwwroot
Volume in drive D is Windows
 Volume Serial Number is C83A-45BE

 Directory of D:\home\site\wwwroot

08/01/2015  08:34 PM    <DIR>          .
08/01/2015  08:34 PM    <DIR>          ..
08/01/2015  07:58 PM    <DIR>          bin
08/01/2015  08:59 PM             1,621 BuildInfo.config
08/01/2015  06:35 PM           202,392 hostingstart.html
08/01/2015  08:47 PM               157 packages.config
08/01/2015  08:34 PM    <DIR>          Properties
08/01/2015  08:59 PM               240 Web.config
               4 File(s)        204,410 bytes
               4 Dir(s)   1,073,143,808 bytes free

(这个站点只有一个Web.config是正确的,它只是重定向,因为我只对这个工作感兴趣。Web.config有正确的内容)。

编辑:我认为这是同一个问题posted here,没有发布解决方案。

【问题讨论】:

  • 你有没有用 Kudu 检查作业是否存在?
  • 我在 Azure 的“工具”部分中使用了“控制台”按钮,这让我可以看到文件系统。没有 App_Data 文件夹:(
  • 检查构建输出(它会告诉您它发布到的站点和目录)并确保您发布到预期的 WebApp(网站)。管理多个网站时很容易混淆。
  • @BrentNewbury 我没有多个站点,只有一个。构建工作正常,日志显示工作构建到正确的文件夹中。问题似乎是,当 Azure 获取构建的输出时,它没有获取 App_Data 文件夹(VSOnline 删除了它)。我真的不知道这个 AzureVSOnline 部署位是如何工作的,而且似乎没有太多的可见性?
  • 我已经用 Azure 的构建日志 + dir 输出更新了帖子。

标签: azure azure-web-app-service azure-devops azure-webjobs


【解决方案1】:

前段时间我与 VSO 团队讨论过这个问题。他们告诉我,VSO 团队已经大大扩展了他们的构建功能。他们要求我将其他有此问题的人引导至此站点:https://msdn.microsoft.com/Library/vs/alm/Build/azure/index

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 2010-09-07
    • 1970-01-01
    • 2013-12-07
    相关资源
    最近更新 更多