问题描述
正在将一个.NET的单体应用程序迁移到托管在Azure上的微服务架构。在此之前,他们只有一个TFS上的构建定义和每个环境(开发、预发布和生产)的发布定义。所有部署到每个环境所需的Azure资源都是手动创建的。他们希望自动化这一部分。用户想知道处理新资源设置的推荐方法是什么?是在发布流水线中添加步骤,当资源不存在时创建所需的资源?还是有一个单独的流水线,专门负责为新环境创建所有资源?
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
在Azure DevOps的发布流水线中,可以使用Terraform for Azure来处理动态创建Azure资源。Terraform在每次运行后维护一个已创建资源的状态文件。如果脚本运行多次,它会忽略已创建的资源,除非有任何属性更新和创建新资源。
以下是一个快速示例的链接,介绍了如何使用Terraform创建完整的虚拟机:
Terraform示例
方案2
使用Terraform可以创建各种类型的资源,不仅限于虚拟机。你可以在Terraform的官方文档中找到关于如何创建其他类型资源的示例。
Terraform不仅适用于创建虚拟机等”标准”资源,还适用于创建Azure中特定的资源。你可以使用Terraform创建各种类型的资源,没有限制。以下链接提供了各种资源的示例:
Terraform官方文档
正文完