一,引言

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

-------------------- 我是分割线 --------------------

新组织中的私有项目无法获得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 服务的更多相关文章

  1. Azure DevOps (十二) 通过Azure Devops部署一个SpringBoot应用

    文章配套视频专栏: https://space.bilibili.com/38649342/channel/seriesdetail?sid=2267536 视频正在努力更新. 上一篇文章中,我们通过 ...

  2. Azure Devops(十四) 使用Azure的私有Nuget仓库

    哈喽大家好,最近因为工作的原因没有时间写文章,断更了俩月,今天我们开始继续研究Azure上的功能. 今天我们开始研究一下Azure的制品仓库,在之前的流水线的相关文章中,我们都使用到了制品仓库用来保存 ...

  3. Azure Devops(十五) 使用Azure的私有Maven仓库

    上一篇文章中,我们介绍了如何使用Azure的nuget仓库,今天我们来研究一下如何使用azure给我们提供的maven仓库. 首先,我们打开azureDevops,点击到制品界面,然后选择maven. ...

  4. [转贴]infoQ VSTS被拆成5个部分,以Azure DevOps服务形式推出

    VSTS被拆成5个部分,以Azure DevOps服务形式推出 http://www.infoq.com/cn/news/2018/09/vsts-divide5parts-azuredevops?u ...

  5. kubernetes+Azure DevOps实现.Net Core项目的自动化部署&均衡负载

    1. 前言 2. Net Core项目本身的准备 2.1 dockerfile 2.2 创建kubernetes用于helm的chart包 2.2.1 说明 2.2.2 chart文件目录和文件组成 ...

  6. Azure DevOps(二)利用Azure DevOps Pipeline 构建基础设施资源

    一,引言 上一篇文章记录了利用 Azure DevOps 跨云进行构建 Docker images,并且将构建好的 Docker Images 推送到 AWS 的 ECR 中.今天我们继续讲解 Azu ...

  7. 使用Azure DevOps Pipeline实现.Net Core程序的CI

    上次介绍了Azure Application Insights,实现了.net core程序的监控功能.这次让我们来看看Azure DevOps Pipeline功能.Azure DevOps Pip ...

  8. Azure DevOps Pipelines执行RobotFramework自动化代码

    一.Azure DevOps介绍 1.什么是 Azure DevOps? Azure DevOps其实是VSTS(Visual Studio Team Service)更名后的名字.而VSTS是TFS ...

  9. Azure DevOps Server 设置项目管理用户,用户组

    一,引言 Azure DevOps Server 搭建完成后,关于如何进行项目管理,项目成员管理等,我们接着上一篇文章,继续讲解 Azure DevOps Server 的用户,用户组.首先,我们需要 ...

随机推荐

  1. NGK” 呼叫河马 “智能合约火爆全网

    最近有一款基于NGK.IO公链上的智能合约"呼叫河马"在区块链市场很火.通过访问和查阅资料可知,"呼叫河马"是一款全新的智能合约Dapp小游戏,智能合约代码是1 ...

  2. django学习-21.优化表数据的标题展示

    目录结构 1.前言 2.表数据的标题默认展示的数据格式是[模型类名 object(主键名)]的相关信息 3.优化表数据的标题展示的数据格式是[改成我们想要展示的数据格式]的相关完整操作步骤 3.1.第 ...

  3. 最小生成树---普里姆算法(Prim算法)和克鲁斯卡尔算法(Kruskal算法)

    普里姆算法(Prim算法) #include<bits/stdc++.h> using namespace std; #define MAXVEX 100 #define INF 6553 ...

  4. [Android搞机]修改build.prop解决类原生无法链接12、13信道wifi问题

    最近xda找包刷了个机,发现没法搜到12.13信道.所有未本地化的类原生都有此问题. root后打开/system/build.prop 可以用 在build.prop中加入以下几句,重启即可连接12 ...

  5. 《Activity显示界面历险记》—说说View的那些理不清的关系

    前言 在Activity显示View的过程中,有一些重要的角色总让人理不清,比如PhoneWindow.DecorView.ViewRootImpl. 也常常有面试题会问到,他们四者之间的关系?创建的 ...

  6. Spring Security 实战干货:OAuth2登录获取Token的核心逻辑

    1. 前言 在上一篇Spring Security 实战干货:OAuth2授权回调的核心认证流程中,我们讲了当第三方同意授权后会调用redirectUri发送回执给我们的服务器.我们的服务器拿到一个中 ...

  7. Linux-基础命令学习

    Linux终端 Linux存在两种终端模拟器,一种类MAC的Gnome和一种类Win的KDE 远程连接工具: xshell,putty,crt(网工) 如果在Linux下输入tty 1 wang@DE ...

  8. Linux系统管理--part(1)

    Linux系统管理--part(1) Linux系统安装完毕,需要对Linux系统进行管理和维护,让Linux服务器能够真正英语于企业中 Linux运维的三个步骤安装.调试.启动 通过本篇文章,将学习 ...

  9. Go的结构体

    目录 结构体 一.什么是结构体? 二.结构体的声明 三.创建结构体 1.创建有名结构体 2.结构体初始化 2.1 按位置传参 2.2 按关键字传 3.创建匿名结构体 四.结构体的类型 五.结构体的默认 ...

  10. 使用ASP.NET Blazor Server 写混合桌面程序的疯狂想法

    开发本地桌面程序,使用进程内浏览器+进程内BLAZOR服务器,然后任性写功能,自由分发,放飞自我,大家看怎么样? 求评估,求批评 https://github.com/congzhangzh/desk ...