配置 S2I 和 B2I Webhooks

    本教程演示如何配置 S2I 和 B2I webhooks。

    • 您需要启用 KubeSphere DevOps 系统,该系统已集成 S2I。
    • 您需要创建一个创建企业空间,一个项目 () 和一个用户 (project-regular)。project-regular 需要被邀请到项目中,并赋予 operator 角色。有关详细信息,请参考。
    1. 以 身份登录 KubeSphere Web 控制台。在左上角点击平台管理,然后选择集群管理

    2. 前往应用负载下的服务,从下拉框中选择 kubesphere-devops-system,然后点击 s2ioperator-trigger-service 进入详情页面。

    3. 点击更多操作,选择编辑外部访问

    4. 在弹出的对话框中,从访问方式的下拉菜单中选择 NodePort,然后点击确定

      备注

      本教程出于演示目的选择 NodePort。根据您的需要,您也可以选择 LoadBalancer

    步骤 2:配置 S2I webhook

    1. 登出 KubeSphere 并以 project-regular 用户登回。然后转到 demo-project

    2. 镜像构建器中,点击 S2I 镜像构建器,进入详情页面。

    3. 登录您的 GitHub 帐户,转到用于 S2I 镜像构建器的源代码仓库。转到 Settings 下的 Webhooks,然后点击 Add webhook

    4. Payload URL,输入 。您可以按需选择触发事件,然后点击 Add webhook。本教程出于演示目的,选择 Just the push event

      备注

      <IP> 是您自己的 IP 地址,<Service NodePort> 是您在第一步中获得的 NodePort。/s2itrigger/v1alpha1/general/namespaces/demo-project/s2ibuilders/felixnoo-s2i-sample-latest-zhd/ 来自 S2I 的远程触发器链接。确保您用的是您自己的 IP 地址、Service NodePort 和 S2I 远程触发器链接。根据您 Kubernetes 集群的部署位置,您可能还需要配置必要的端口转发规则并在安全组中打开端口。

    5. 完成上述所有操作后,如果源代码仓库中存在推送事件,则会自动触发 S2I 镜像构建器。

    您可以按照相同的步骤配置 B2I webhook。

    1. 暴露 S2I 触发器服务。

    2. 在 B2I 镜像构建器的详细信息页面中查看远程触发器

    3. 在源代码仓库中添加有效负载 URL。B2I 有效负载 URL 格式与 S2I 有效负载 URL 格式相同。

      备注

      根据您 Kubernetes 集群的部署位置,您可能需要配置必要的端口转发规则并在安全组中打开端口。