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 的用户,用户组.首先,我们需要 ...
随机推荐
- Make one your own Online Video Recorder by using WebRTC & vanilla javascript
Make one your own Online Video Recorder by using WebRTC & vanilla javascript Online Video Record ...
- Jupyter Notebook 暗色自定义主题
这款主题是在jupyter-dark-theme的基础上修改了字体大小和行高,以及显示工具栏.感谢原作者! 安装 下载custom.css文件并移动至~/.jupyter/custom/文件夹下,如果 ...
- 使用sun.net.ftp.FtpClient进行上传功能开发,在jdk1.7上不适用问题的解决
问题如下图片: 之前项目上开发了一个上传文件的功能,使用的是sun.net.ftp.FtpClient这个类 连接服务器的代码大概如下: public static FtpClient ftpClie ...
- DNS Rebinding漏洞原理
目录 SSRF过滤器设计 背景知识 DNS TTL 公网DNS服务器 DNS重绑定 自建DNS服务器 利用步骤图解 实战中的注意事项 防御 参考 DNS Rebinding 广泛用于绕过同源策略.SS ...
- Java开发不懂Docker,学尽Java也枉然,阿里P8架构师手把手带你玩转Docker实战
转: Java开发不懂Docker,学尽Java也枉然,阿里P8架构师手把手带你玩转Docker实战 Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一 ...
- const成员函数可以将非const指针作为返回值吗?
先给出一段代码 class A { int *x; public: int *f() const { return x; } }; 成员函数f返回指向私有成员 x 的非常量指针,我认为这会修改成员x ...
- 话说 synchronized
一.前言 说起java的锁呀,我们先想到的肯定是synchronized[ˈsɪŋ krə naɪ zd]了 ,这个单词很拗口,会读这个单词在以后的面试中很加分(我面试过一些人 不会读 ,他们说的 ...
- 致被职场PUA的打工人
作为打工人,除了每天面对着各种繁琐的工作,还要被动接受上级或多或少的PUA,实在是难上加难,甚至有人想不开而自杀.网络上最近流行了一个词:职场PUA,赋予了这种现象一个正式的名字. 职场PUA指的是职 ...
- MySQL全面瓦解25:构建高性能索引(案例分析篇)
回顾一下上面几篇索引相关的文章: MySQL全面瓦解22:索引的介绍和原理分析 MySQL全面瓦解23:MySQL索引实现和使用 MySQL全面瓦解24:构建高性能索引(策略篇) 索引的十大原则 1. ...
- Codeforces Round #557 B. Double Matrix
题面: 传送门 题目描述: 给出两个n*m的矩阵,问:是否能通过交换两个矩阵"对应"位置的元素,使两个矩阵都为"递增"矩阵. "递增"矩阵定 ...