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 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 中得到了统一,以便更清晰地阐明相关概念。
Marketplace
新的扩展类别
Marketplace 中的扩展类别已经过调整,以便与重命名的 Azure DevOps 服务保持一致。虽然之前的类别已自动映射到新类别,用户***还是更新一下自己的 manifest,以便切换到新类别。
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 用户是由组织管理员决定的。
反馈
用户可以使用反馈菜单报告问题或提供建议。