使用 GitHub Actions 触发 Azure Pipelines 中的运行 - Sprint 161 更新

Azure DevOps 的 Sprint 161 更新 中,我们很高兴地宣布 适用于 Azure Pipelines 的 GitHub Actions 。 使用 GitHub Actions,可以直接从 GitHub Actions 工作流触发 Azure Pipelines 运行。 我们还添加了对 Azure Pipelines 中多个存储库的支持,因此除了用于存储 YAML 管道之外,还可以提取和签出其他存储库。

有关详细信息, 请查看下面的功能 列表。

Azure DevOps 中的新增功能

功能

常规:

Azure Pipelines:

Azure Repos:

常规

使用发布配置文件从部署中心部署用于 Windows 的 Azure WebApps

现在,你可以使用基于发布配置文件的身份验证从部署中心部署用于 Windows 的 Azure WebApps。 如果你有权使用其发布配置文件部署用于 Windows 的 Azure WebApp,则可以在部署中心工作流中使用此配置文件设置管道。

Azure Pipelines

签出 Azure Pipelines 中的多个存储库

管道通常依赖于多个存储库。 你可以使用不同的存储库,其中包含生成代码所需的源代码、工具、脚本或其他项。 以前,必须将这些存储库添加为子模块或手动脚本来运行 git 签出。 现在,除了用于存储 YAML 管道的存储库之外,还可以提取和签出其他存储库。

例如,如果你有一个名为 MyCode 的存储库(其中包含一个 YAML 管道)和一个名为 Tools 的存储库,你的 YAML 管道将如下所示

resources:
repositories:
  - repository: tools
    name: Tools
    type: git

steps:
- checkout: self
- checkout: tools
- script: dir $(Build.SourcesDirectory)

第三步将显示源目录中的 MyCode 和 Tools 两个目录

支持 Azure Repos Git、GitHub 和 Bitbucket 云存储库。 有关详细信息,请参阅 多存储库签出

使用 GitHub 操作触发 Azure Pipelines 中的运行

我们现在有适用于 Azure Pipelines (Azure/pipelines)的 GitHub Actions。 可以使用 Azure/pipelines 在 Azure Pipelines 中触发运行,作为 GitHub Actions 工作流的一部分。

通过 GitHub Actions,可以轻松地直接从 GitHub 生成、测试和部署代码。 还可以使用它来触发外部 CI/CD 工具和服务。 例如,可以使用 GitHub Actions 进行持续集成, 使用 Azure Pipelines 进行持续交付,以利用审批、环境和与 Kubernetes 的深度集成等功能。

可以使用此操作在 Azure DevOps 中触发特定管道(YAML 或经典发布管道)。 GitHub Actions 会将 Azure DevOps 组织的项目 URL、管道名称和 个人访问令牌(PAT) 作为输入。

可在此处找到初学者模板

更新了 ServiceNow 与 Azure Pipelines 的集成

用于 ServiceNow 的 Azure Pipelines 应用可帮助集成 Azure Pipelines 和 ServiceNow 变更管理。 通过此更新,你可以与纽约版本的 ServiceNow 集成。 现在可以使用 OAuth 和基本身份验证进行两个服务之间的身份验证。 此外,你现在还可以配置高级成功条件,以便可以使用任何更改属性来确定入口结果。

如果未运行最小数量的测试,请将 VSTest 任务设置为失败

VSTest 任务使用用户输入(测试文件、筛选条件等)以及特定于所使用的测试框架的测试适配器来发现并运行测试。 如果对用户输入或测试适配器进行更改,则可能导致无法发现测试且仅运行一部分预期测试的情况。 这可能会使管道成功,因为跳过了测试,而并非因为代码的质量很高。 为了避免这种情况,我们在 VSTest 任务中添加了一个新选项,该选项允许指定为使任务通过必须运行的最少测试次数。

如果未运行最少数量的测试,请将 VSTest 任务设置为失败。

针对 Python 2.7 的 UCS-4 支持

Python 2.7 在大多数托管生成代理上都可用。 以前,我们交付了使用 UCS-2(2 八进制通用字符集)支持的 Python 2.7。 UCS-2 不表示所有 Unicode 字符。 因此,我们将 Python 2.7 实现切换到 UCS-4,以表示 Unicode 中提供的所有字符。 我们预计这不会影响你,因为大多数包都独立于 Python 中内置的 Unicode 支持。

在适用于 Slack 和 Microsoft Teams 的 Azure Pipelines 应用中创建批量订阅

适用于 SlackMicrosoft Teams 的 Azure Pipelines 应用的用户现在可以批量订阅项目中的所有管道。 可以使用筛选器来管理 Slack 或 Teams 频道中发布的内容。 也可以继续订阅单个管道。

Slack:

斜杠命令: /azpipelines subscribe [project url]

示例:/azpipelines subscribe https://dev.azure.com/myorg/myproject​

在适用于 Slack 的 Azure Pipelines 应用中创建批量订阅。

Microsoft Teams:

命令: @Azure 管道订阅 [项目 URL]

示例: @Azure 管道订阅 https://dev.azure.com/myorg/myproject​

在适用于 Microsoft Teams 的 Azure Pipelines 应用中创建批量订阅。

Azure Repos

在适用于 Slack 和 Microsoft Teams 的 Azure Repos 应用中创建批量订阅

适用于 Slack 和 Microsoft Teams 的 Azure Repos 应用的用户现在可以批量订阅项目中的所有 Git 存储库。 筛选器仍可用于管理 Slack 或 Teams 频道中发布的内容。 你仍然可以订阅单个 Git 或 TFVC 存储库。

Slack:

斜杠命令:/azrepos subscribe [project url]

示例:/azrepos subscribe https://dev.azure.com/myorg/myproject

在适用于 Slack 和 Microsoft Teams 的 Azure Repos 应用中创建批量订阅。

Microsoft Teams:

命令: @Azure Repos 订阅 [项目 URL]

示例: @Azure Repos 订阅 https://dev.azure.com/myorg/myproject​

后续步骤

注意

这些功能将在未来两到三周内推出。

前往 Azure DevOps 并了解一下。

如何提供反馈

我们很想听听你对这些功能的看法。 使用帮助菜单报告问题或提供建议。

提出建议

你还可以在 Stack Overflow 上获得社区的建议和问题的答案。

此致

亚伦·霍尔伯格