【问题标题】:Deploying Azure Resources Across Environments Using Azure DevOps使用 Azure DevOps 跨环境部署 Azure 资源
【发布时间】:2021-01-19 13:57:11
【问题描述】:

我在其中创建了一个资源组和各种资源。在资源中,我有 ADF 和管道、SQL Server、数据库和对象、逻辑应用程序、AAS 模型、存储帐户等。

现在我想将我的所有信息签入到版本控制的源代码控制中。我也有 Azure Devops。我的需要是将资源和对象部署到另一个环境中。

例如,我有一个开发环境。我在一个资源组中创建了所有资源。在构建这个环境时,我没有使用任何模板或源代码控制。我现在得到了 Azure DevOps。现在我想从开发环境构建测试设置。我如何做到这一点?

感谢任何帮助。谢谢。

【问题讨论】:

    标签: azure azure-devops devops azure-resource-manager


    【解决方案1】:

    您可以先从 Azure 资源组门户导出模板。见下文:

    1、进入Azure资源组门户-->点击自动化下的导出模板-->下载

    您还可以使用 Az cli/Azure powershell 导出模板。查看示例命令here

    请查看文档here,详细了解如何使用 ARM 模板管理您的 azure 资源。

    2,将上述步骤中下载的 ARM 模板同步到您的 azure repo。

    3,创建一个azure Resource Manager service connection 以将您的 Azure 订阅连接到 Azure devops。示例见this thread

    4、创建一个azure devops pipeline 来自动部署 Azure 资源。

    5、在你的azure管道中添加Azure Resource Manager (ARM) Template Deployment Task,部署第一步导出的模板。

    steps:
    - task: AzureResourceManagerTemplateDeployment@3
      displayName: 'ARM Template deployment: Resource Group scope'
      inputs:
        azureResourceManagerConnection: 'azuresubscriptionServiceConnection'
        subscriptionId: '......'
        resourceGroupName: 'Resource-group'
        location: 'East US'
        csmFile: template.json
        csmParametersFile: parameters.json
    

    以上只是为您提供了通过 azure devops 管道部署 azure 资源时需要采取的一般步骤。您需要自己浏览文档以了解如何自定义管道、如何创建 ARM 模板以及如何使用 AzureResourceManagerTemplateDeployment 任务。

    【讨论】:

    • 导出模板是一个好的开始;但是,功能并非 100% 支持所有 Azure 资源类型和属性。此外,默认情况下,它将使用给定的 Microsoft 默认值自动填充所有值。这会使您的 ARM 模板过长。
    猜你喜欢
    • 2020-08-31
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 2021-02-27
    • 2020-01-25
    • 1970-01-01
    相关资源
    最近更新 更多