Azure DevOps 跨账号连接 Azure 服务
一,引言
由于新申请的 Azure DevOps 账号中的私有项目不在享受托管代理提供的1800分钟的免费时间,又不想花钱付费,那我们只能另想版本解决没有并行作业的问题。
-------------------- 我是分割线 --------------------

于是,我们只能利用旧的Azure DevOps 连接到新的 Azure 账号的订阅上。通过我的调查。Azure DevOps 和 Azure 的关联是可以通过 Azure DevOps 上的手动管理 Service connections。既然如此,我们尝试利用手动管理类型为 “Azure Resource Manager” 的服务连接。
二,正文
1,创建可用的Service Principal并设置其权限
1.1,创建服务主体
创建 Service Principal(服务主体)的方式,我之前都讲过的,可以通过 Azure CLI 登录到Azure 上,利用 az sp create ....... 进行创建,还可以手动进行创建,今天我们手动演示如何创建Service Principal。
首先,我们登录到Azure Portal 上,在 Azure Active Directory 上注册应用程序,首页左侧菜单点击 “Azure Active Directory”

选择 “Manage=》App registrations”,点击箭头所指的 “+ New registration”

输入 display name "Allen_ServiceConnection",点击 “Register”

创建完成后,就可以跳转到当前注册的 application 页面。接下来,我们需要为当前应用创建密码
选择 “Manage=》Certificates & secrets”,点击 “+ New client secret”

在添加客户端密钥页面,需要我们输入相关参数
Description:“Allen_ServiceConnection_Secret”
Expires:“24 months”(可以根据自己的实际情况选择过期时间)
点击 “Add”

创建完成后,我们尽快复制当前应用的客户端密钥的值(切记),一旦刷新页面重新切换到当前页面,我们就不能再复制密钥的值了。

1.2,设定 Service Principal 的权限
我们都知道在之前介绍的利用Azure CLI 创建 sp 的时候,给的角色为 “Contributor”,范围为 “当前subscription”。同样的,我们手动也需要为当前应用添加对应的权限
找到当前订阅,选择 “Access control”,切换到 “Role assignments”,点击 “+Add”

点击 “Add role assignment”(角色分配)

输入相关角色分配的参数
Role 选择:‘Contributor“
Assign access to:”User,group,or service principal“
Select 输入:”Allen_ServiceConnection”,并选择当前会员
点击 “Save” 进行保存操作

同时我们可以在当前角色指派页面看到添加的信息

2,Azure DevOps 中创建Service connection
我们尝试创建一个新的项目 "CnBateBlog_Test",并且点击左下角的 “Project Settings”

找到 “Pipeline=》Service connections”,点击 “Create service connection”

选择 “Azure Resource Manager”,并且点击 “Next”

Authentication method(验证方式) 选择 “Service principal(manual)”,点击 “Next”

大家需要注意的是,如果选择自己对于的 Azure 环境,如果跟我一样,那么就可以跟我选择一样的 “Azure Cloud”

接下来需要输入刚刚创建好的 Service Pricipal 的信息
Scop Level 选择:“Subscription”
Subscription Id:“xxxxxxxx”(自己的订阅ID)
Subscription Name:“Visual Studio Enterprise”(输入自己的订阅名称)
Service Principal Id 输入刚刚在 Azure Active Directory 中注册的 App 的 Id
Credential (凭据) 选择:“Service principal key”

Service principal key 就是刚刚创建的 application 的Client Screct
Tenant ID:“当前sp 的租户 id”
输入完 sp 的信息,我们可以先点击 “Verify” 验证一下,没有问题的话再输入其他参数
Service connection name:“Allen_ServiceConnection”
点击 “Verify and save”(保存之前,我们得保证手动输入的sp 的信息都是正确的)

验证保存完成后,我们可以看到手动创建好的 Service connection

3,验证Service connection 的可用性
测试的项目还是 CnBateBlogWeb
Azure DevOps 中创建 Release Pipeline,并且设置相关参数

记得配置 App Settings 信息,最后点击 “Create release”

等待部署完成之后,我们先查看部署状态

并且复制 “cnbateblogweb01” 的 URL 在浏览器中尝试访问

访问成功!!!

三,结尾
参考资料:Azure Pipeline,管理服务链接
github:https://github.com/yunqian44/CnBateBlogWeb
作者:Allen
版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。
Azure DevOps 跨账号连接 Azure 服务的更多相关文章
- Azure DevOps (十二) 通过Azure Devops部署一个SpringBoot应用
文章配套视频专栏: https://space.bilibili.com/38649342/channel/seriesdetail?sid=2267536 视频正在努力更新. 上一篇文章中,我们通过 ...
- Azure Devops(十四) 使用Azure的私有Nuget仓库
哈喽大家好,最近因为工作的原因没有时间写文章,断更了俩月,今天我们开始继续研究Azure上的功能. 今天我们开始研究一下Azure的制品仓库,在之前的流水线的相关文章中,我们都使用到了制品仓库用来保存 ...
- Azure Devops(十五) 使用Azure的私有Maven仓库
上一篇文章中,我们介绍了如何使用Azure的nuget仓库,今天我们来研究一下如何使用azure给我们提供的maven仓库. 首先,我们打开azureDevops,点击到制品界面,然后选择maven. ...
- [转贴]infoQ VSTS被拆成5个部分,以Azure DevOps服务形式推出
VSTS被拆成5个部分,以Azure DevOps服务形式推出 http://www.infoq.com/cn/news/2018/09/vsts-divide5parts-azuredevops?u ...
- kubernetes+Azure DevOps实现.Net Core项目的自动化部署&均衡负载
1. 前言 2. Net Core项目本身的准备 2.1 dockerfile 2.2 创建kubernetes用于helm的chart包 2.2.1 说明 2.2.2 chart文件目录和文件组成 ...
- Azure DevOps(二)利用Azure DevOps Pipeline 构建基础设施资源
一,引言 上一篇文章记录了利用 Azure DevOps 跨云进行构建 Docker images,并且将构建好的 Docker Images 推送到 AWS 的 ECR 中.今天我们继续讲解 Azu ...
- 使用Azure DevOps Pipeline实现.Net Core程序的CI
上次介绍了Azure Application Insights,实现了.net core程序的监控功能.这次让我们来看看Azure DevOps Pipeline功能.Azure DevOps Pip ...
- Azure DevOps Pipelines执行RobotFramework自动化代码
一.Azure DevOps介绍 1.什么是 Azure DevOps? Azure DevOps其实是VSTS(Visual Studio Team Service)更名后的名字.而VSTS是TFS ...
- Azure DevOps Server 设置项目管理用户,用户组
一,引言 Azure DevOps Server 搭建完成后,关于如何进行项目管理,项目成员管理等,我们接着上一篇文章,继续讲解 Azure DevOps Server 的用户,用户组.首先,我们需要 ...
随机推荐
- 移动端 750px UI 设计稿
750px UI 设计稿 App 小程序 H5 rem & vh/vw 在移动端页面开发中,UI 一般会用750px(iphone 6)来出设计稿; 然后要求能够做到页面是自适应屏幕的,这种情 ...
- @bind decorator
@bind decorator https://www.npmjs.com/package/bind-decorator https://github.com/NoHomey/bind-decorat ...
- macOS finder show hidden files
macOS finder show hidden files 显示 MacOS 上的隐藏文件和文件夹 https://zh.wikihow.com/显示Mac-OS-X上的隐藏文件和文件夹 $ def ...
- NGK Global英国路演落下帷幕,区块链赋能大数据取得新突破
NGK全球巡回路演于7月25日在英国圆满举行,此次路演是由NGK英国社区主办,旨在探讨当前大数据爆炸的形式下,区块链如何赋能,解决行业痛点.会上,行业精英.区块链爱好者.各实体产业代表以及科技人员纷纷 ...
- Baccarat凭什么吸引做市商?2021年将如何发展?
在过去的一年里,基于资金池的AMM自动化做市商几乎统治了所有DeFi活动,他们没有订单簿,而是根据算法曲线提供资产.尽管在流动性和交易方面取得了令人惊叹的成绩,但是其自身具有无常损失.多代币敞口以及低 ...
- mysql事务的实现原理
此篇文章算是对mysql事务的一个总结,基本把mysql事务相关的知识点都涵盖到了,面试问来问去无非也就是这些,在了解这些之前我们先对mysql在执行的过程中 有一个整体的认识,如下图 如上图所示,M ...
- 翻译:《实用的Python编程》02_01_Datatypes
目录 | 上一节 (1.7 函数) | 下一节 (2.2 容器) 2.1 数据类型和数据结构 本节以元组和字典为代表介绍数据结构. 原始数据类型 Python 有一些原始数据类型: 整数 浮点数 字符 ...
- JUnit5学习之四:按条件执行
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- eclipse从接口快速跳转到实现类
1.只跳转到实现类上 按住Ctrl键,把鼠标的光标放在要跳转的接口上面,选择第二个 2.直接跳转大实现的方法上 按住Ctrl键,把鼠标的光标放在要跳转的方法上面,选择第二个 对比可以发现,操作都是一样 ...
- 学习java之基础语法(一)
学习java之基础语法(一) 基本语法 编写 Java 程序时,应注意以下几点: 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的. 类名:对于所有的类来说 ...