我有一个发布管道,运行任务,然后从Stephane的"API管理套件“运行API管理更新任务。
API管理任务调用Swagger端点来更新API管理中的OpenAPI模式。
问题是任务是骗人的--在部署之后应用程序还没有准备好。它仍然运行旧版本,需要一些时间(10-20秒)才能真正完成部署。
因此,当API更新任务启动时,它实际上获取了服务旧版本的Swagger定义,而不是新部署的定义。
是否有任何合理的方法来检测应用程序服务部署过程的真正完成,以将管道推迟到应用程序完全重新启动?
顺便说一句,在手动重新启动应用程序服务时也会发生同样的情况。Azure很高兴地报告服务已经重新启动,但实际上,对服务的任何请求仍然返回应用程序的旧状态5秒,然后再关闭5秒,然后在新状态下启动并运行。微软应该采取一些措施,停止在重启过程中对开发者说他们的应用程序的状态。
发布于 2021-07-09 13:56:16
我们遇到了类似的问题(当一个应用程序服务插槽真正可用时,时间问题),所以我们做了以下工作:
为此,我们使用来自市场的这个烟雾测试任务。您可以使用端点地址、预期的成功状态代码加上重试和尝试之间的等待时间来配置它。一旦我们得到我们的200管道,然后继续下一个任务。
我不认为这与你的问题相关,但我们做以上的一个非生产槽,然后做一个交换与生产后,所有以上发生。这使得我们可以在交换前温暖非生产时段。
https://stackoverflow.com/questions/68313909
复制相似问题