基本概念

Azure 资源划分方法:

Azure DevOps 连接 Azure - 图1

Tenant 租户

多租户技术用于不同账户之间共用物理资源,但信息保持隔离
一篇文章读懂SaaS多租户和单租户的分别

Azure Active Directory 中的应用注册

人进行身份验证,可以在 UI 界面上输入账号密码完成登录操作
后台应用则需要用应用 ID 和应用密钥来完成(应用的)身份验证
应用注册就是给应用这样一个身份

操作流程

应用注册

image.png
获取应用 ID
image.png
生成应用密钥
image.png

获取租户信息

在 Azure AD 的属性中可以看到租户 ID
image.png
在 Azure Portal 右上角,鼠标悬停也可看到租户信息
image.png

获取订阅信息

想要通过 Azure DevOps 操作哪个订阅,首先获得该订阅的 ID 和订阅名
image.png

配置访问权限

刚刚在 Azure AD 中注册应用,目的是让 Azure DevOps 以该应用的身份操作 Azure 资源
那么需要配置该应用对所操作订阅的权限(Contributor)
image.png

在 Azure DevOps 中设置服务连接

操作 Azure 资源是通过 Azure Resource Manager 实现的
Project Settings -> Service Connections -> New Service Connection -> Azure Resource Manager

Azure 由于几个地区政策特殊性,这几个地区和全球的配置方法不同,例如中国区(Azure Mooncake)
需要手动输入 Service Principal 来配置
image.png
image.png

在 Release Pipelines 中使用服务连接

通过 Azure Resource Manager 操作 Azure 资源的 stage,需要通过上一步的服务连接来验证应用身份,以确保有权操作 Azure 上的资源
image.png
image.png

注:在此处可以通过上一次 build 出的文件路径,手动选择部署到 App Service 的内容
image.png