gpt4 book ai didi

azure - 等待新部署的应用服务在 Azure Devops 发布管道中重新启动

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

我有一个发布管道,它运行 Azure 应用服务部署任务,然后运行 ​​Stephane Eyskens 的“API Management Suite”中的 API 管理更新任务。

API 管理任务调用 Swagger 端点来更新 API 管理中的 OpenAPI 架构。

问题在于应用服务部署任务存在问题 - 应用程序在部署后尚未准备好。它仍然运行旧版本,并且需要一些时间(10 - 20 秒)才能真正完成部署。

因此,当 API 更新任务启动时,它实际上会获取旧版本服务的 Swagger 定义,而不是新部署的服务。

是否有任何合理的方法来检测应用服务部署过程的真正完成,以延迟管道直到应用完全重新启动?

顺便说一句,手动重新启动应用服务时也会发生同样的情况。 Azure 高兴地报告服务已重新启动,但实际上,对该服务的任何请求仍然会返回应用程序的旧状态大约 5 秒,然后它会再关闭 5 秒,然后它会启动并运行新状态。微软应该采取一些措施,停止向开发者撒谎,告知其应用程序在重启期间的状态。

最佳答案

我们遇到了类似的问题(应用程序服务槽真正可用的时间问题),因此我们执行了以下高级操作:

  1. 部署到插槽
  2. 重新启动插槽
  3. 对插槽进行冒烟测试,直到得到 200

为此,我们使用this smoke test task从市场上。您可以使用端点地址、预期的成功状态代码以及重试次数和尝试之间的等待时间对其进行配置。一旦我们获得 200 个管道,就会继续执行下一个任务。

我认为这与您的问题无关,但我们对非生产插槽执行上述操作,然后在上述所有情况发生后在管道中与生产进行交换。这使我们能够在交换之前预热非生产槽。

关于azure - 等待新部署的应用服务在 Azure Devops 发布管道中重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68313909/

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