一,引言

  由于新申请的 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. flutter & dart & vs code & bug

    flutter & dart & vs code & bug Waiting for another flutter command to release the startu ...

  2. svg-path-to-polygons & svg-path-parser

    svg-path-to-polygons & svg-path-parser svg-path-to-polygons https://www.npmjs.com/package/svg-pa ...

  3. Flutter: 粘贴板

    文档 import 'package:flutter/services.dart'; /// 把文本复制进入粘贴板 Clipboard.setData(ClipboardData(text: &quo ...

  4. 【Python】面向对象:类与继承简单示例

    Python 面向对象 Python 是一门面向对象的设计语言,与此对应的就是面向过程编程与函数式编程 面向对象的一个优点就是更好的增强代码的重用性. 面向过程编程可以简单的理解为:重点在步骤,将一个 ...

  5. 20_MySQL表的内连接实操

    -- 查询底薪超过公司平均底薪的员工信息 -- 方法1 SELECT empno,ename FROM t_emp HAVING sal>AVG(sal); 因为在having中不能拿一个字段与 ...

  6. net字符串倒置和冒泡排序

    using System;using System.Configuration;using System.Data;using System.Linq;using System.Web;using S ...

  7. 2021 年学习 React 的所需要的 JavaScript 基础

    在理想的情况中,您可以先了解所有有关 JavaScript 和 web 开发的知识,然后再深入了解React. 但是,我们没有办法这样,如果等你把所有 JavaScript 的知识都掌握了再去学习 R ...

  8. Linux安装与使用

    1.安装 1.1安装VMware 1.1.1VM12版本安装 1)下载:网盘:链接:https://pan.baidu.com/s/1Jnr--KIy3bSTvRhtB8nfiQ 提取码:czna 2 ...

  9. vs调试qt代码,无法单步调试

    在使用vs调试qt代码时,可以编译但无法单步调试QT源码.报错缺少qmain_win.cpp或者其他q******.cpp文件. 1.因为安装qt时没有安装qt源码库,重新下载一个src源码就可以了. ...

  10. Kubernetes-3.安装

    docker version:19.03.14 kubernetes version:1.19.4 本文介绍使用kubeadm安装Kubernetes集群的简单过程. 目录 使用kubeadm安装k8 ...