我认为这将是一个相当简单的任务,有相当多的文件在那里,但我已经没有任何运气与它,并假设它几乎是所有过时的。
我已经开发了一段时间的.net核心MVC6 web应用程序,需要在azure上为它设置一个webjob。我想使用azure提供的应用程序正在使用的连续部署系统将其与应用程序一起部署。根据Kudu文件,有可能:
https://github.com/projectkudu/kudu/wiki/web-jobs#deploying-net控制台webjobs以及aspnet应用程序
其中规定:
这在直接从visualstudio(webdeploy)部署或通过git部署时都有效。
它引用了这个链接(https://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-deploy-webjobs/)我一直在努力,但没有成功。
我有最新版本的visualstudio2015,.netcore1.0.0&tools和azuresdk。
第一件很明显的事情是,我没有在azure文档的屏幕截图中显示的脚手架选项,并且在没有找到任何缺少的依赖项之后,我尝试按照描述手动设置它。
即使在将所需文件放入指定位置之后( webjobs-list.json
以及 webjob-publish-settings.json
)为我的项目配置它们,并添加 Microsoft.Web.WebJobs.Publish
对于webjob项目,kudu没有通过连续部署系统找到webjob。
我已经尝试了几种方法和变化的基础上的文件,我已经找到了那里,但我只是不能得到它的工作和所有其他的问题(s)岁。
有人知道我做错了什么吗?在最新版本的.net核心mvc中,这是否仍然可行?
1条答案
按热度按时间jei2mxaa1#
webjobs的文件存储在“app\u data/jobs/continuous”或“app\u data/jobs/triggered”文件夹下,因此部署webapp和webjob的一种方法是在生成期间手动将所有需要的webjobs文件复制到这些文件夹中。我认为这将适合而vs工具正在更新。
我的解决方案和你的有点不同,因为我使用visualstudio团队服务来构建我的应用程序并将其发布到azure,但概念是相同的。可以使用VisualStudio中的生成后事件运行脚本,将这些文件复制到作业的文件夹中。
以下是我在vsts构建定义中配置的步骤:
命令行任务:工具:dotnet参数:还原
visual studio生成任务:解决方案:\myapp.sln平台:$(buildplatform)配置:$(buildconfiguration)visual studio版本:visual studio 2015
命令行任务:工具:dotnet参数:publish-c$(buildconfiguration)
命令行任务:工具:dotnet参数:publish-c$(buildconfiguration)$(build.sourcesdirectory)\src\myapp.jobs\project.json
复制文件任务(这是诀窍):源文件夹:src/myapp.jobs/bin/$(buildconfiguration)/netcoreapp1.0/publish/contents:**目标文件夹:src/myapp.web/bin/$(buildconfiguration)/netcoreapp1.0/publish/app\ data/jobs/triggered/myjobname/
存档文件任务:要存档的根文件夹(或文件):src/myapp.web/bin/$(buildconfiguration)/netcoreapp1.0/publish/要存档的前缀根文件夹名称路径:未选中存档类型:要创建的zip存档文件:website.zip替换现有存档:选中
复制文件任务:源文件夹:内容:/*.zip目标文件夹:$(build.artifactstagingdirectory)
发布生成工件任务:路径do publish:$(build.artifactstagingdirectory)工件名称:drop工件类型:server