[转贴]infoQ VSTS被拆成5个部分,以Azure DevOps服务形式推出
VSTS被拆成5个部分,以Azure DevOps服务形式推出
http://www.infoq.com/cn/news/2018/09/vsts-divide5parts-azuredevops?utm_source=news_about_Devops&utm_medium=link&utm_campaign=Devops
9月10日,微软官方博客宣布推出Azure DevOps服务。Azure DevOps是对微软的应用程序生命周期管理系统Visual Studio Team Services(VSTS)进行的重大改组和品牌重塑,此后VSTS将不再是单一的Visual Studio品牌服务,而是被分成五个独立的Azure服务,包含在Azure DevOps服务之中。这五个单独的服务分别是:
- Azure Pipelines:用于持续构建、测试和部署到任何云平台。
- Azure Boards:可进行工作管理。
- Azure Artifacts:适用于Maven、npm和NuGet。
- Azure Repos:提供无限制的云托管私有Git存储库。
- Azure Test Plans:用于计划和探索性测试。
在Azure的文档、网站和产品中,用户将会看到全新的Azure DevOps图标和名称,以及Azure DevOps提供的每项服务。
随着Azure Pipelines的推出,微软向GitHub Marketplace推出了一个新应用程序,为开源项目提供无限制的CI/CD时间和10个并行作业。
点击链接(https://docs.microsoft.com/en-au/azure/devops/release-notes/2018/sep-10-azure-devops-launch#features)查看更多的特性。
新特性一览
以下功能将在接下来几天推出。
Azure Pipelines
从GitHub Marketplace添加Azure Pipelines
GitHub Marketplace中提供的最新Azure Pipelines应用程序扩展了与GitHub存储库的集成,并简化了并行作业的购买。
以前,用户可以通过OAuth认证启用与GitHub存储库的持续集成。在使用OAuth时,Azure Pipelines通过个人的GitHub标识来获取代码并更新GitHub上的构建状态。但是,由于团队成员可能会发生人员变动,使用个人的GitHub身份和权限并不是一个很好的办法。通过安装Azure Pipelines应用程序,用户可以授权它来执行操作。
另外,如果使用了这个应用程序,就可以在GitHub的Checks页面看到构建结果,其中包含构建、测试和代码覆盖率的详细信息。
要使用这个功能,需要从GitHub Marketplace中安装这个应用程序。用户可以使用现有的GitHub支付帐户而不是Azure帐户来购买其他并行作业,价格是一样的。

使用Azure Pipelines免费构建开源项目
Azure Pipelines提供了Linux、macOS和Windows的云托管管道,开源项目可以享受无时间限制和10个免费的并行作业。
使用YAML配置构建
基于YAML的构建管道现在普遍可用,用户可以使用与其他代码存放在一起的YAML文件来自动执行持续集成管道。单个作业的构建变得相当容易。随着需求的增长,可以使用multiple
jobs、external templates和matrix execution来扩展到更多作业。
使用新向导创建YAML构建管道
新的向导简化了使用GitHub和Azure Repos创建基于YAML的构建管道的过程。在选择了要构建的存储库后,如果其中包含了YAML文件,就会自动创建管道。否则,Azure Pipelines将分析存储库,并推荐一个YAML模板用来构建项目。用户只需单击“保存并运行”即可为建议的YAML创建拉取请求,并进行第一个构建。持续集成和拉取请求触发器将自动被启用。

使用新的Builds页面管理构建管道
微软正在做一些改进,并推出新版本的Builds页面。新版本将所有构建管道目录和当前构建列表结合在一起,用户可以快速浏览项目构建以查看它们的状态。它还提供了管道的测试分析预览信息。

重新启动GitHub拉取请求构建
当用户向GitHub存储库提交拉取请求时,拉取请求构建可能会因间歇性故障(例如包注册表不可用或其他测试所导致)而失败。在这些情况下,用户可能希望再次运行构建。之前,用户需要推送另一个拉取请求更新,而现在,在新的Builds页面,只需选择失败的构建,并向构建队列中添加一个新的构建请求。
这种方式仅适用于拉开请求构建,微软正在考虑为所有失败的构建提供类似的功能。
新的构建状态badge URL
嵌入在存储库主页的构建badge是显示存储库健康状态的常用方法。微软添加了新的URL来帮助用户创建badge。新URL允许用户发布分支状态,并可以让用户浏览所选分支的最新版本。用户可以通过新Builds页面上的Status badge菜单来获取新的状态URL的Markdown代码。为了向后兼容,将继续支持旧的URL。
在微软托管的Linux代理上可以使用更多工具
在新版本中,微软托管的Linux代理添加了多个构建、测试和部署工具(具体如下),用户无需在构建或发布期间自行安装它们。
- Erlang/OTP
- Firefox
- Haskell
- Heroku CLI
- ImageMagick
- Mercurial
- Microsoft SQL Server Client Tools
- MySQL Server
- PhantomJS
- Pollinate
- PyPy2 and PyPy3
- rebar
- rsync
- ShellCheck
- Sphinx
- Terraform
- Xvfb
跟踪GitHub的代码提交和相关问题
现在,用户可以获取与某个发布版本相关的代码提交清单和问题。

使用改进的格式更好地管理构建和部署电子邮件通知
更新过的构建和部署电子邮件通知可以通过电子邮件规则进行过滤。现在,邮件主题中包含更多相关信息,正文也包含更多细节和最新的风格。
新格式的元素:
[Build result] [pipeline name] - [repository:branch] - [project name] - [commit]
[Deployment result] [pipeline name] > [release name] : [stage name]
一些例子:
[Build succeeded] IdentityService.CI - MyRepo:master - MyProject - d3b90b80
[Deployment succeeded] New release pipeline > NotificationSpecialRelease-1 : Stage 1
遵循统一的Azure Pipelines术语
因为历史原因,在构建和发布过程中,相似的概念可能会使用不同的术语。在其他某些情况下,有些术语的含义模棱两可。例如,agent pool(代理池)和agent queue(代理队列)之间的区别就难说清楚。
术语在Azure Pipelines中得到了统一,以便更清晰地阐明相关概念。
更多信息,请参阅Concepts文档(https://docs.microsoft.com/en-us/azure/devops/pipelines/?view=vsts#concepts)。
Marketplace
新的扩展类别
Marketplace中的扩展类别已经过调整,以便与重命名的Azure DevOps服务保持一致。虽然之前的类别已自动映射到新类别,用户最好还是更新一下自己的manifest,以便切换到新类别。更多信息请参阅Manifest文档(https://docs.microsoft.com/en-us/azure/devops/extend/develop/manifest?view=vsts#required-attributes)。
Administration
现有组织可以使用新域名URL
新的域名是dev.azure.com,不过用户仍然可以像往常一样继续使用visualstudio.com。如果想要将URL更改为dev.azure.com,可以让组织管理员(Project Collection Administrator)在组织设置页面做出更改。虽然采用新域名并不会重定向每个请求,但任何发给root URL的请求以及电子邮件中的链接和Web链接都将发生变化。

微软将根据客户反馈逐步迁移到新URL。先是将它作为可选项,后续会将它作为组织的默认选项。不过让组织弃用visualstudio.com的具体时间表还没有确定。
添加利益相关者用户,以节省Azure Pipelines许可成本
如果只使用Azure Pipelines服务,在基本许可之外无需为其他用户付费。所有用户都可以免费使用Azure Pipelines的所有功能。在向项目中添加更多用户时,可以将他们视为利益相关者,他们可以创建、查看、更新和批准构建管道,只要给他们分配适当的权限。以下是有关该许可变更的一些附加说明:
- 用户只需为Azure Pipelines的其他并行作业付费。用户数没有限制。
- 所有对Azure Pipelines功能的访问仍受安全和权限模型的监管。
- 如果用户要使用其他Azure DevOps服务,必须在免费限制之后为这些服务支付许可费用。
- 在现有组织中,利益相关者默认情况下不会获得免费的Azure Pipelines权限。组织管理员必须启用这个预览版功能,这样利益相关者就可以执行相关操作。目前,他们无法管理构建或发布。但是,一旦启用了这个预览版功能,Azure Pipelines的基本用户和利益相关者之间就没有权限差别。所以,是否允许利益相关者成为免费的Azure Pipelines用户是由组织管理员决定的。
反馈
用户可以使用反馈菜单报告问题或提供建议。

VSTS已经以这种方式被分拆,以进一步促进微软的雄心壮志,使其开发者工具对任何开发流程中都可用,不管开发者使用何种语言或平台。将VSTS划分为单个组件能使开发人员更容易采用Azure DevOps平台的一部分,而不需要全部的VSTS。每个组件的范围缩小意味着它比VSTS定价便宜,使得逐步采用更合适。例如,Pipelines流程可以从GitHub存储库构建和测试Node.js服务,然后部署到Amazon AWS云上的容器,而无需使用任何其他Azure DevOps组件。
查看英文原文:
[转贴]infoQ VSTS被拆成5个部分,以Azure DevOps服务形式推出的更多相关文章
- 微软改名部又出动啦!微软宣布VSTS改名为Azure DevOps
本篇为翻译,原文地址:https://azure.microsoft.com/en-us/blog/introducing-azure-devops/ 作者:Jamie Cool,Azure DevO ...
- VSTS 更名为 Azure DevOps
微软正式对外宣布Azure DevOps,其实就是原来的VSTS,我们来看一下Azure DevOps的介绍: 今天我们宣布Azure DevOps.与世界各地的客户和开发人员合作,很明显,DevOp ...
- lintcode 453 将二叉树拆成链表
将二叉树拆成链表 描述 笔记 数据 评测 将一棵二叉树按照前序遍历拆解成为一个假链表.所谓的假链表是说,用二叉树的 right 指针,来表示链表中的 next 指针. 注意事项 不要忘记将左儿子标 ...
- java实现将包含多个<REC>的文件拆成若干只包含一个<REC>的文件
遍历文件夹里的文件,将包含多个<REC>的文件拆成若干只包含一个<REC>的文件 package com.prepub; import java.io.BufferedRead ...
- ACM-ICPC 2018 南京赛区网络预赛 J sum (找一个数拆成两个无平方因子的组合数)
题目大意:就是找一个数拆成两个无平方因子的组合数,然后求个前缀和 ; 分析:运用筛法的思想 , 因为有序对是由两个合法的数字组成的,所以只要保证第一个数合法,第二个数也合法就行,找出合法的第二个数 ...
- Sql将逗号分隔的字符串分拆成表格的方法
--拆分的方法有很多,临时表.SUBSTRING ...但都不如XML来得清凉爽快 ) set @tempstr='54,57,55,56,59' declare @Xmlstr xml set @X ...
- sqlserver中利用Tran_sql把逗号分隔的字符串拆成临时表
在与数据库交互的过程中,我们经常需要把一串ID组成的字符串当作参数传给存储过程获取数据.很多时候我们希望把这个字符串转成集合以方便用于in操作. 有两种方式可以方便地把这个以某种符号分隔的ID字符串转 ...
- lintcode:将二叉树拆成链表
题目 将一棵二叉树按照前序遍历拆解成为一个假链表.所谓的假链表是说,用二叉树的 right 指针,来表示链表中的 next 指针. 注意事项 不要忘记将左儿子标记为 null,否则你可能会得到空间溢出 ...
- 一个正整数N,拆成任意个正整数之和,怎样使这些数的乘积最大
网上看到了如标题所示的题目,就开始想如果用程序来算的话,那么它的算法是怎样的. 自己想了半天,第一感觉要用递归, 如先算出 当 n=1 max=1 当 n=2 max=1 当 n=3 max=2 .. ...
随机推荐
- sprinboot之mongodb
一.MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当 ...
- 按键精灵手机版多点找色,图片对比 by <剑行洪荒> 忠哥
代码: Do Dim ret1,ret2 Delay 500 ret1 = CmpColor(76,72, "153274", 0.9) ret2 = Cm ...
- 矩阵分解-----LDL分解
若一个矩阵A是正定的,那么该矩阵也可以唯一分解为\[{\bf{A = LD}}{{\bf{L}}^{\bf{T}}}\] 其中L是对角元素都为1的下三角矩阵,D是对角元素都为正数的对角矩阵.还是以三维 ...
- pytest使用笔记(二)——pytest+allure配置使用
使用环境及预置条件 开发工具:pycharm 操作系统:win10 开发语言:python3.6 使用库:pytest4.0,pytest-allure-adaptor 注意不要安装allure-py ...
- Jmeter 数据库配置池设置IP为参数
我在网上查了很多资料,发现jmter链接数据库的URL都是设置成固定值的.没有参数化. 当我需要使用配置文件链接不同服务器上的数据库的时候,发现无法实现. 原因在于:jmeter的元件执行优先级是配置 ...
- 来源自rnnoise,但非rnn
很快又一年过去了. 自学音频算法也近一年了. 不记得有多少个日日夜夜, 半夜醒来,就为验证算法思路. 一次又一次地改进和突破. 傻逼样的坚持,必然得到牛逼样的结果. 这一年,主要扎音频算法上. 经常有 ...
- 【Unity Shader】Shader基础
目录 Chapter3 Unity Shader 基础 Chapter3 Unity Shader 基础 概述 在Unity需要材质(Material)与Unity Shader配合使用来达到满意的效 ...
- Streamr助你掌控自己的数据
博客说明 所有刊发内容均可转载但是需要注明出处. 项目简介 Streamr 致力于为世界实时数据的自由公平交换打造开源平台,并促进全球数据经济的发展.Streamr项目基于区块链技术,并向用户提供数据 ...
- Linux 文件搜索命令:find、which、whereis 和 locate
Linux 提供了许多用于文件搜索的命令,这些命令都很强大,但是也有一些不同之处,这里分别介绍一下. 一.find 命令 find 是最常见和最强大的一个文件搜索命令.使用 find 命令可以在指定目 ...
- React Native移动开发实战-4-Android平台的适配原理
打开Android开发工具Android Studio,选择菜单 Open an existing AndroidStudio project,打开ch04项目的android文件夹,如图5.8所示. ...