我想设置VSTS也可以在成功构建时部署这两个项目,但我遇到了问题.
我的理解是,要实现这一点,我需要创建一个发布定义,该定义链接到我的构建定义,并在管道中添加了“部署Azure应用服务”任务.我试过这个并得到一个错误,因为在artifacts文件夹中找到了多个.zip文件,它建议我使过滤器更具体,所以我更改了$(System.DefaultWorkingDirectory)/ **中的“包或文件夹”选项/*.zip到$(System.DefaultWorkingDirectory)/ ** / UI.zip.这解决了错误,但现在显然它只是部署我的应用程序(UI).
我的下一步是尝试为WebJob项目创建一个单独的Environment,并指定$(System.DefaultWorkingDirectory)/ ** / WebJobs.zip作为Package.现在两个环境都“成功”部署,但它破坏了我的应用程序,我很确定它已经将WebJob部署在应用程序的顶部(我不知道如何确认这一信念……).
我注意到,当您向发布定义添加环境并选择模板时,在“Azure App Service Deployment”下,它会说:“将您的应用程序部署到Azure App Services.从Windows,Linux,容器,功能应用程序或Web应用程序中选择Web Jobs“但是当选择此模板时,WebJob未在”App Type“下拉列表中列出!
我在网上找到了一些关于从VSTS部署WebJobs的资源,但它们都已过时,所描述的选项不再与VSTS中的选项相匹配.
解决了:
由于下面的David Ebbo和starian chen的答案,我的问题得到了解决.
首先,您必须在Visual Studio中右键单击Web App项目,然后选择Add>将现有项目作为Azure WebJob并按照向导进行操作.接下来,您必须确保VSTS部署任务仅通过更新程序包或文件夹路径筛选器找到要部署的一个.zip程序包,以便它只找到Web App的一个;在我的情况下,它是$(System.DefaultWorkingDirectory)/ ** / UI.zip.
非常感谢@DavidEbbo和@starianchen的帮助!
您只需通过右键单击Web App并选择以下内容来创建WebJob项目:Add / New Azure WebJob project
或者,如果您已在解决方案中安装了WebJobs项目:
Add / Existing WebJob project
完成后,发布Web App会自动发布WebJob所在的位置.这一切都发生在一个zip文件中,在VSTS中没有什么特别的事情要做.一旦这样做,不要尝试单独发布WebJob项目.