【问题标题】:How to re-deploy Azure Resources using AzDevOps Pipeline?如何使用 Azure DevOps Pipeline 重新部署 Azure 资源?
【发布时间】:2021-12-16 01:49:01
【问题描述】:

我有一些 azure 资源(Function App、Cosmos 等),我已在 Azure Devops Pipeline 中使用 terraform init-plan-apply 成功部署在资源组中。从我的本地 CLI 中,我可以更改 main.tf 中的资源并重新部署,大概是因为我在本地拥有 tf 状态。但是,当我尝试使用管道重新部署时,我得到了通常的错误

错误:ID 为“/subscriptions/xxxxxx-xxxx-xxxx-xxxx/resourceGroups/my”的资源 -rg" 已存在 - 要通过 Terraform 管理,此资源需要导入状态。有关更多信息,请参阅“azurerm_resource_group”的资源文档。 │

当我尝试使用 here 描述的配置导入时,我收到了无用的错误

##[error]Error: 尝试执行进程“/usr/local/bin/terraform”时出错。这可能表明进程无法启动。错误:spawn /usr/local/bin/terraform ENOENT

我是否以正确的方式考虑使用 terraform 的管道?我应该尝试导入资源组,还是有更好的方法来使用 terraform 重新部署资源?

【问题讨论】:

    标签: azure-devops terraform azure-pipelines terraform-provider-azure azure-resource-group


    【解决方案1】:

    你是对的,tf 状态没有保存在 Azure DevOps 代理上。

    常用的方法是使用 Azure Storage 账户来保存 tf 状态。

    你可以在here找到微软官方教程。

    您可以找到更多指南 hereherehere

    【讨论】:

    • 谢谢,我知道必须有正确的方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    相关资源
    最近更新 更多