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
以下功能将在接下来几天推出。
GitHub Marketplace 中提供的最新 Azure Pipelines 应用程序扩展了与 GitHub 存储库的集成,并简化了并行作业的购买。
以前,用户可以通过 OAuth 认证启用与 GitHub 存储库的持续集成。在使用 OAuth 时,Azure Pipelines 通过个人的 GitHub 标识来获取代码并更新 GitHub 上的构建状态。但是,由于团队成员可能会发生人员变动,使用个人的 GitHub 身份和权限并不是一个很好的办法。通过安装 Azure Pipelines 应用程序,用户可以授权它来执行操作。
另外,如果使用了这个应用程序,就可以在 GitHub 的 Checks 页面看到构建结果,其中包含构建、测试和代码覆盖率的详细信息。
要使用这个功能,需要从 GitHub Marketplace 中安装这个应用程序。用户可以使用现有的 GitHub 支付帐户而不是 Azure 帐户来购买其他并行作业,价格是一样的。
Azure Pipelines 提供了 Linux、macOS 和 Windows 的云托管管道,开源项目可以享受无时间限制和 10 个免费的并行作业。
基于 YAML 的构建管道现在普遍可用,用户可以使用与其他代码存放在一起的 YAML 文件来自动执行持续集成管道。单个作业的构建变得相当容易。随着需求的增长,可以使用 multiple jobs、external templates 和 matrix execution 来扩展到更多作业。
新的向导简化了使用 GitHub 和 Azure Repos 创建基于 YAML 的构建管道的过程。在选择了要构建的存储库后,如果其中包含了 YAML 文件,就会自动创建管道。否则,Azure Pipelines 将分析存储库,并推荐一个 YAML 模板用来构建项目。用户只需单击“保存并运行”即可为建议的 YAML 创建拉取请求,并进行第一个构建。持续集成和拉取请求触发器将自动被启用。
微软正在做一些改进,并推出新版本的 Builds 页面。新版本将所有构建管道目录和当前构建列表结合在一起,用户可以快速浏览项目构建以查看它们的状态。它还提供了管道的测试分析预览信息。
当用户向 GitHub 存储库提交拉取请求时,拉取请求构建可能会因间歇性故障(例如包注册表不可用或其他测试所导致)而失败。在这些情况下,用户可能希望再次运行构建。之前,用户需要推送另一个拉取请求更新,而现在,在新的 Builds 页面,只需选择失败的构建,并向构建队列中添加一个新的构建请求。
这种方式仅适用于拉开请求构建,微软正在考虑为所有失败的构建提供类似的功能。
嵌入在存储库主页的构建 badge 是显示存储库健康状态的常用方法。微软添加了新的 URL 来帮助用户创建 badge。新 URL 允许用户发布分支状态,并可以让用户浏览所选分支的最新版本。用户可以通过新 Builds 页面上的 Status badge 菜单来获取新的状态 URL 的 Markdown 代码。为了向后兼容,将继续支持旧的 URL。
在新版本中,微软托管的 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
现在,用户可以获取与某个发布版本相关的代码提交清单和问题。
更新过的构建和部署电子邮件通知可以通过电子邮件规则进行过滤。现在,邮件主题中包含更多相关信息,正文也包含更多细节和最新的风格。
新格式的元素:
[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
因为历史原因,在构建和发布过程中,相似的概念可能会使用不同的术语。在其他某些情况下,有些术语的含义模棱两可。例如,agent pool(代理池)和 agent queue(代理队列)之间的区别就难说清楚。
术语在 Azure Pipelines 中得到了统一,以便更清晰地阐明相关概念。
更多信息请参阅 Concepts 文档:https://docs.microsoft.com/en-us/azure/devops/pipelines/?view=vsts#concepts
Marketplace 中的扩展类别已经过调整,以便与重命名的 Azure DevOps 服务保持一致。虽然之前的类别已自动映射到新类别,用户最好还是更新一下自己的 manifest,以便切换到新类别。更多信息请参阅 Manifest 文档:https://docs.microsoft.com/en-us/azure/devops/extend/develop/manifest?view=vsts#required-attributes
新的域名是 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 DevOps 服务,必须在免费限制之后为这些服务支付许可费用。
在现有组织中,利益相关者默认情况下不会获得免费的 Azure Pipelines 权限。组织管理员必须启用这个预览版功能,这样利益相关者就可以执行相关操作。目前,他们无法管理构建或发布。但是,一旦启用了这个预览版功能,Azure Pipelines 的基本用户和利益相关者之间就没有权限差别。所以,是否允许利益相关者成为免费的 Azure Pipelines 用户是由组织管理员决定的。
用户可以使用反馈菜单报告问题或提供建议。
VSTS 以这种方式被分拆,是为了进一步促进微软的战略,使微软的开发者工具在任何开发流程中都可用,不管开发者使用何种语言或平台。将 VSTS 划分为单个组件能使开发人员更容易采用 Azure DevOps 平台的某一部分,而不需要全部的 VSTS。每个组件的范围缩小意味着它比 VSTS 定价便宜,这样会使逐步采用更为合适。例如,Pipelines 流程可以从 GitHub 存储库构建和测试 Node.js 服务,然后部署到 Amazon AWS 云上的容器,而无需使用任何其他 Azure DevOps 组件。
参考链接:
https://docs.microsoft.com/en-au/azure/devops/release-notes/2018/sep-10-azure-devops-launch
https://arstechnica.com/gadgets/2018/09/azure-devops-gives-developers-the-tools-they-need-to-make-their-own-vsts/
活动推荐
ArchSummit 全球架构师峰会将于 12 月 7-8 日在北京国际会议中心举办,会议专题聚集了微服务金融架构、微服务架构、数据基础平台建设、短视频架构、区块链、信息隐私安全等话题。邀请了阿里巴巴、Netflix、百度、LinkedIn 等公司的技术专家来分享。
大会 7 折报名中,立减 2040 元,有任何问题欢迎咨询票务经理 Lachel- 灰灰,电话 / 微信:17326843116。