如果您的 GitHub、GitLab 或 Bitbucket 存储库中发生了代码更改,Code Stream 会提供一种触发管道的方式。Git 触发器在您要监控的存储库的分支上使用 Git 端点。Code Stream 通过 Webhook 连接到 Git 端点。

要在 Code Stream 中定义 Git 端点,请选择一个项目,然后输入端点所在的 Git 存储库的分支。该项目将管道与端点和其他相关对象进行分组。当您在 Webhook 定义中选择项目时,您可以选择要触发的端点和管道。
注: 如果定义包含您的端点的 Webhook,但稍后编辑了该端点,则无法在 Webhook 中更改端点详细信息。要更改端点详细信息,必须删除 Webhook,然后重新定义包含该端点的 Webhook。请参见 如何使用 Code Stream 中的 Git 触发器运行管道

可以通过使用同一 Git 端点并在 Webhook 配置页面中为分支名称提供不同的值,为不同的分支创建多个 Webhook。要为同一 Git 存储库中的其他分支创建其他 Webhook,无需针对多个分支多次克隆 Git 端点。只需在 Webhook 中提供分支名称,即可重用 Git 端点。如果 Git Webhook 中的分支与端点中的分支相同,则无需在 Git Webhook 页面中提供分支名称。

前提条件

  • 验证您能否访问计划连接的 GitHub、GitLab 或 Bitbucket 存储库。
  • 如果使用内部部署 Git 存储库,请确认您能够访问 VMware Cloud Assembly,以便添加云代理。有关示例,请参见设置 Code Stream 以对发布流程进行建模
  • 验证您是 Code Stream 中项目的成员。如果您不是其成员,则让 Code Stream 管理员将您添加为项目的成员。请参见如何在 Code Stream 中添加项目

过程

  1. 定义 Git 端点。
    1. 单击端点 > 新建端点
    2. 选择一个项目,并为端点类型选择 Git。然后输入名称和说明。
    3. 如果该端点是基础架构中的关键业务组件,请启用标记为受限制
      在管道中使用受限制的端点时,管理员可以运行管道,并且必须批准管道执行。如果端点或变量标记为受限制,则非管理员用户触发管道时,管道将在该任务处暂停,并等待管理员恢复。
      项目管理员可以启动包括受限制端点或变量的管道,前提是这些资源位于用户作为项目管理员的项目中。
      当非管理员用户尝试运行包含受限制资源的管道时,该管道将在使用受限制资源的任务处停止。然后,管理员必须恢复该管道。
      有关受限制资源以及包含 管理受限制的管道权限的自定义角色的详细信息,请参见:
    4. 如果该端点位于内部部署环境中,请选择一个云代理以将该端点连接到 Code Stream。否则,请将该设置保留为默认值
    5. 选择其中一个受支持的 Git 服务器类型。
    6. 输入存储库的 URL 并在路径中包含服务器的 API 网关。例如:
      对于 GitHub,输入: https://api.github.com/vmware-example/repo-example
      对于 BitBucket,输入: https://api.bitbucket.org/{user}/{repo name}http(s)://{bitbucket-enterprise-server}/rest/api/1.0/users/{username}/repos/{repo name}}
    7. 输入端点所在的存储库中的分支。
    8. 选择身份验证类型,并输入 GitHub、GitLab 或 BitBucket 的用户名。然后输入与用户名匹配的专用令牌。
      • 密码。要稍后创建 Webhook,必须为密码输入专用令牌。适用于 Git 的 Webhook 不支持使用基本身份验证创建的端点。

        使用机密变量可隐藏和加密敏感信息。可以对必须隐藏和加密以及限制在执行中使用的字符串、密码和 URL 使用受限制变量。例如,对密码或 URL 使用机密变量。可以在管道的任何类型的任务中使用机密变量和受限制变量。

      • 专用令牌。此令牌特定于 Git,可提供对特定操作的访问权限。请参见https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html。您还可以为专用令牌创建变量。
  2. 单击验证,并验证端点是否连接到 Code Stream
    如果未连接,请更正所有错误,然后单击 创建
    添加 Git 端点时,在输入信息、验证端点并单击创建后,端点定义便已完成。

下一步做什么

要了解更多信息,请参见其他节。请参见如何使用 Code Stream 中的 Git 触发器运行管道