gpt4 book ai didi

azure - 如何通过 VSTS 将 Azure WebJob 和应用程序部署到同一应用程序服务?

转载 作者:行者123 更新时间:2023-12-03 22:12:14 24 4
gpt4 key购买 nike

我有一个 Visual Studio 2017 解决方案,其中包含 ASP.NET Web 应用程序项目(称为 UI)和 Azure WebJob 项目(称为 WebJobs)。我已将两者配置为从 Visual Studio 中部署到 Azure(右键单击,发布)到同一应用服务。该解决方案还配置为在我推送到 VSTS 时进行构建。

我想设置 VSTS 以在成功构建后部署这两个项目,但我遇到了问题。

我的理解是,要实现此目标,我需要创建一个链接到我的构建定义的发布定义,并将“部署 Azure 应用服务”任务添加到管道中。我尝试了此操作并收到错误,因为在工件文件夹中发现了多个 .zip 文件,这建议我使过滤器更具体,因此我从 $(System.DefaultWorkingDirectory) 更改了“包或文件夹”选项/**/*.zip$(System.DefaultWorkingDirectory)/**/UI.zip。这解决了错误,但现在显然它只是部署我的应用程序(UI)。

我的下一步是尝试为 WebJob 项目创建一个单独的环境,并指定 $(System.DefaultWorkingDirectory)/**/WebJobs.zip 作为包。现在,两个环境都“成功”部署,但它破坏了我的应用程序,而且我很确定它已在应用程序顶部部署了 WebJob(我不知道如何证实这一信念......)。

我注意到,当您将环境添加到发布定义并选择模板时,在“Azure 应用程序服务部署”下,它会显示:“将应用程序部署到 Azure 应用程序服务。从 Windows、Linux、容器上的 Web 应用程序中选择, Function Apps 或 Web Jobs”,但选择此模板时,WebJob 未列在“应用程序类型”下拉列表中!

我在网上找到了一些有关从 VSTS 部署 WebJobs 的资源,但它们都已过时,并且描述的选项不再与 VSTS 中当前的选项匹配。

已解决:

由于David Ebbo,我的问题得到了解决的和 starian chen的答案如下。

首先,您必须在 Visual Studio 中右键单击您的Web App项目,然后选择添加 > 现有项目作为 Azure WebJob,然后按照向导操作。接下来,您必须确保 VSTS 部署任务仅找到要部署的 .zip 包,方法是更新包或文件夹路径过滤器,使其仅找到Web 应用的包;就我而言,它是 $(System.DefaultWorkingDirectory)/**/UI.zip

非常感谢@DavidEbbo 和@starianchen 的帮助!

最佳答案

您所要做的就是通过右键单击您的 Web 应用程序并选择来创建 WebJob 项目:

Add / New Azure WebJob project

或者,如果您的解决方案中已有 WebJobs 项目:

Add / Existing WebJob project

完成此操作后,发布 Web 应用程序会自动将 WebJob 发布到其所属的位置。这一切都发生在一个 zip 文件中,并且在 VSTS 中没有什么特别要做的。执行此操作后,请勿尝试单独发布 WebJob 项目。

关于azure - 如何通过 VSTS 将 Azure WebJob 和应用程序部署到同一应用程序服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50045752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com