使用网站构建/部署azure webjob复制源文件而不是二进制文件/可执行文件

时间:2017-04-01 13:11:45

标签: azure-devops azure-webjobs azure-pipelines azure-webjobssdk azure-pipelines-release-pipeline

我在我现有的网站上添加了一个webjobs sdk项目。该网站作为一个天蓝色的应用程序服务运行。我总是通过在线安装Visual Studio中的新版本并从那里部署到我的azure网站来完成构建和部署。最近我在同一个解决方案中创建了这个webjob项目,基于这个webjobs-list.json生成并放入网站项目应该导致webjob也在部署期间与网站一起部署(或者说文档说)。发生的事情是,当它部署时,我看看app_data \ jobs \ continuous中的内容,不是我期望的二进制文件和可执行文件,它是已经复制到那里的实际源代码/项目文件。显然这不会运行,它不应该在我的网站上抛出源代码。

我还必须在Visual Studio在线更改我的发布定义,只查找[我的网站项目名称] .zip,而不仅仅是* .zip,因为否则我会从发布中收到错误指示:错误:多个包与指定模式匹配。请限制搜索模式。

...这似乎是因为构建过程不仅为我的网站创建了一个zip文件,而且还为webjobs项目创建了一个。从我的理解和阅读,我应该改变我的发布只是寻找网站的zip文件,并忽略其他的zip文件,只是让它部署,它应该都工作正常,但再次,什么被复制到我在网站上的jobs文件夹不是webjob的二进制文件或可执行文件,它是实际的源文件。

如何使用站点而不是源文件来部署二进制文件和可执行文件?

我唯一能做的就是从web项目中删除webjobs-list.json文件,使它们不再链接在一起,这会导致构建不再使用我的web作业填充app_data \ jobs \ continuous部署时计划源文件,并在我的发行版定义中创建一个额外的任务,以获取和部署在构建期间创建的另一个zip文件(对于webjob项目,它包含带有这些二进制文件的调试文件,无论出于何种原因)。然而,我读到的所有内容都告诉我,这不应该被完成,它应该只是工作而不必我这样做。

编辑:

我的Web项目是我使用VS 2013创建的MVC 5项目.web jobs项目使用2.0.0.0版本的webjobs sdk。

构建和发布定义,我按照本文中的步骤创建:

https://www.visualstudio.com/en-us/docs/build/apps/cd/deploy-webdeploy-webapps

在完成我的发布定义之后,我在发布定义之后做了唯一的另外一件事,我更改了包或文件夹字段以查找[my mvc web project name] .zip,而不是* .zip,否则我会得到上面提到的错误信息。

0 个答案:

没有答案