Azure:如何构建*弹性*资源部署管道?

Azure:如何构建*弹性*资源部署管道?,azure,azure-devops,terraform,infrastructure-as-code,Azure,Azure Devops,Terraform,Infrastructure As Code,我正在寻找一些最佳实践和建议: 我的团队正在创建一个Azure DevOps管道,以部署由VNET、VM、Azure ML工作区、SQL数据库等组成的复杂基础设施 管道在可能的情况下使用Terraform,但在需要的情况下使用Powershell或AZ CLI 管道可以工作,它是版本控制的,它有适当的单元测试和集成测试(或者至少有适当的测试) 但是,由于Azure资源配置的不稳定性,有时管道将失败,例如: SQL server设置失败 虚拟机的AD连接失败 或者其他不是由于错误的Infra

我正在寻找一些最佳实践和建议:

  • 我的团队正在创建一个Azure DevOps管道,以部署由VNET、VM、Azure ML工作区、SQL数据库等组成的复杂基础设施
  • 管道在可能的情况下使用Terraform,但在需要的情况下使用Powershell或AZ CLI
  • 管道可以工作,它是版本控制的,它有适当的单元测试和集成测试(或者至少有适当的测试)
但是,由于Azure资源配置的不稳定性,有时管道将失败,例如:

  • SQL server设置失败
  • 虚拟机的AD连接失败
  • 或者其他不是由于错误的Infra as代码,而是由于任务的随机性而导致的活动。资源调配本质上是不稳定的,类似于网络等
我不是在抱怨Azure。我只是问:

我如何调整IaC管道,以便在Azure失败时自动触发某种重试? 作为一个具体的例子,是否有一个Azure或Terraform等价于Python的包或Java的包

我如何调整IaC管道,以便在Azure失败时自动触发某种重试

您可以尝试在生成失败时使用任务自动触发当前生成管道

为了能够使用扩展,需要创建Azure DevOps API端点。 要使服务连接正常工作,您需要配置以下参数:

  • 组织Url:组织的Url。 ()
  • 个人访问令牌:个人访问令牌
此外,我们需要设置此任务的条件,只有在前一个任务失败时才会触发当前管道


谢谢,@Leo!这比我希望的要复杂得多,我们目前没有API端点。“我得用玩具管道试一下,看看能不能让它工作。”米克维利安姆森,当然,期待你的回复。