上一篇我们结合学习 Azure Traffic Manger 的内容,做了一个负载均衡的基础设施架构。通过 Terraform 部署执行计划,将整个 Azure Traffic Manager 结合 Azure Web App 的架构快速部署到云上。然后再将我们的示例项目代码部署到对应的不同区域的Azure Web 应用程序上。最后Azure Traffic Manager 将不同地理位置的用户的访问请求转发到后端的 Azure Web 应用上。
这时,又有人提问了,现在都流行 DevOps ,整个应用层面的项目代码都可以实现 CI/CD 整个过程,那这些基础设施代码可以实现 CI/CD 吗?
答案是肯定的,今天要演示的正如文章标题那样,利用 Azure DevOps 快速实现自动化部署基础设施资源。
开始内容之前,我们先看看整个 pipeline 过程
--------------------Azure Terraform 系列--------------------
1,Azure Terraform(一)入门简介 2,Azure Terraform(二)语法详解 3,Azure Terraform(三)部署 Web 应用程序 4,Azure Terraform(四)状态文件存储 5,Azure Terraform(五)利用Azure DevOps 实现自动化部署基础资源 二,正文 1,Azure DevOps 创建项目Azure DevOps 上创建 "CnBateBlogWeb_Infrastructure" 项目,Azure DevOps 地址:dev.azure.com。
2,配置Azure DevOps Pipeline 环境选择 “Pipelines =》Releases”,并且点击 “New pipeline” 创建新的 pipeline
选择模板页面,我们先选择 “Empty job”
修改 "Stage name",并且点击 “x” 进行关闭此页面
接下来,我们需要给当前 "pipeline" 添加 “artifact”
选择 “GitHub”,点击 “Service” 旁边的 “+” ,添加新的 “github connection”
输入 “Connection name” :“github_connection_yunqian44”,并且点击 “Authorize using OAuth” 进行登陆 github 认证
等待验证完成后,我们需要选择 terraform 对应的代码仓库,点击图中的箭头指向的位置
输入相应参数
Source(repository): "Terraform_Cnbate_Traffic_Manager"
Default branch(默认仓库):“remote_stats”
Default version:“Lastest from the default branch”
Source alias 选择默认后,点击 “Add” 进行添加
接下来就需要我们添加 “task” 了,点击图中箭头指向
点击 “Agent Job” 旁白 “+”,并在右边的输入框中输入 “Azure Key Vault”,选中图中的“Azure Key Vault”。点击 “Add”,添加 task。
修改相关参数
Display name:“Azure Key Vault:Get Storage Access Secret”
Azure subscription 选择当前自己的订阅
Key vault 选择:“cnbate-terraform-kv”
Secrets filter(机密过滤器):“terraform-stste-storage-key”,如果选择默认 “*”,则下载选定密钥库的所有机密