通过VSTS部署WebJob会添加到webapp而不是app_data / jobs文件夹

时间:2018-01-02 16:04:44

标签: azure-devops azure-webjobs

我正在尝试将连续的队列触发的WebJob部署到Azure实例上,但是我遇到了一些我希望有人可以帮助我的问题。

当我从Visual Studio(2015)发布时,它会进入作业文件夹下的WebApp的app_data文件夹。我可以在WebJobs设置部分的门户网站上看到WebJob。一切都很好。

我正试图通过VSTS自动化这个问题,以及我遇到问题的地方。当我使用Azure App Service Deploy任务部署它时,它将其添加到WebApp的根文件夹,即wwwroot文件夹。从其他StackOverflow问题看来,如果我将它打包到一个zip文件夹并部署zip文件夹,它应该工作。不幸的是我遇到了同样的问题。

我可能会做一些愚蠢的事情,但如果有人可以提出我出错的地方,那就太棒了。

构建定义

  1. 在sln文件上进行Nuget(恢复)

  2. Visual Studio Build。 VS2015在sln文件上,MSBuild参数为/p:WebPublishMethod=Package

    1. 我实际上正在使用SlowCheetah,因此对于我的每个环境,我都有一个Build任务,以便我可以使用正确的环境设置来构建它。
  3. 将bin文件复制到$(build.artifactstagingdirectory)

  4. 归档到$(build.artifactstagingdirectory)以及

  5. 发布

  6. 发布定义

    1. Azure App Service Deploy
      1. 指向我的Azure帐户上的网络应用和网络应用的应用类型和应用服务名称
      2. 设置为zip文件的包或文件夹
    2. 下面附有截图。关于我做错了什么的任何建议?

      亲切的问候 Sidharth

      Build definition 1 Release definition 1

1 个答案:

答案 0 :(得分:1)

我认为它不是webjob项目,而是一般项目(例如控制台应用程序)。

处理它的简单方法是将文件复制到相应的文件夹,例如:

  1. 复制文件(目标文件夹:$(build.artifactstagingdirectory)/app_data/jobs/triggered/WebJob1
  2. 归档文件(要归档的根文件夹(或文件):$(build.artifactstagingdirectory)/app_data;检查Prefix root folder name to archive paths;选项)