×

在开发者视角中使用 Red Hat OpenShift Pipelines

在**开发者**视角中,您可以从**+添加**页面访问以下创建管道的选项

  • 使用**+添加** → **管道** → **管道构建器**选项为您的应用程序创建自定义管道。

  • 使用**+添加** → **从 Git**选项在创建应用程序的同时使用管道模板和资源创建管道。

创建应用程序的管道后,您可以在**管道**视图中查看并以可视化方式与已部署的管道交互。您也可以使用**拓扑**视图与使用**从 Git**选项创建的管道交互。您必须为使用**管道构建器**创建的管道应用自定义标签才能在**拓扑**视图中看到它们。

先决条件

  • 您可以访问 OpenShift Container Platform 集群,并且已切换到**开发者**视角

  • 您已在集群中安装OpenShift Pipelines 运算符

  • 您是集群管理员或具有创建和编辑权限的用户。

  • 您已创建了一个项目。

使用管道构建器构建管道

在控制台的**开发者**视角中,您可以使用**+添加** → **流水线** → **流水线构建器**选项来

  • 使用**流水线构建器**或**YAML视图**配置流水线。

  • 使用现有的任务构建流水线流程。安装 OpenShift Pipelines 运算符后,它会向您的集群添加可重用的流水线任务,这些任务可与集群解析器一起使用。

  • 指定流水线运行所需资源的类型,如果需要,还可以向流水线添加其他参数。

  • 在流水线中的每个任务中引用这些流水线资源作为输入和输出资源。

  • 如果需要,在任务中引用添加到流水线的任何其他参数。任务的参数会根据任务的规范预填充。

  • 使用运算符安装的可重用代码片段和示例来创建详细的流水线。

  • 搜索并从您配置的本地 Tekton Hub 实例添加任务。

在开发者视角中,您可以使用您自己的一组精选任务来创建自定义流水线。要直接从开发者控制台搜索、安装和升级您的任务,您的集群管理员需要安装和部署本地 Tekton Hub 实例并将该 Hub 链接到 OpenShift Container Platform 集群。更多详情,请参见附加资源部分的《使用 Tekton Hub 与 OpenShift Pipelines》。如果您没有部署任何本地 Tekton Hub 实例,则默认情况下,您只能访问命名空间任务和公共 Tekton Hub 任务。

步骤
  1. 在**开发者**视角的**+添加**视图中,点击**流水线**磁贴以查看**流水线构建器**页面。

  2. 使用**流水线构建器**视图或**YAML视图**配置流水线。

    **流水线构建器**视图支持有限数量的字段,而**YAML视图**支持所有可用字段。或者,您也可以使用运算符安装的可重用代码片段和示例来创建详细的流水线。

    op pipeline yaml
    图 1. YAML 视图
  3. 使用**流水线构建器**配置您的流水线

    1. 在**名称**字段中,输入流水线的唯一名称。

    2. 在**任务**部分

      1. 点击**添加任务**。

      2. 使用快速搜索字段搜索任务,并从显示的列表中选择所需的任务。

      3. 点击**添加**或**安装并添加**。在此示例中,使用**s2i-nodejs**任务。

        搜索列表包含集群中所有 Tekton Hub 任务和可用任务。此外,如果任务已安装,它将显示**添加**以添加任务,而如果需要安装才能添加,则会显示**安装并添加**。当您添加具有更新版本的相同任务时,它将显示**更新并添加**。

        • 向流水线添加顺序任务

          • 点击任务右侧或左侧的加号图标 → 点击**添加任务**。

          • 使用快速搜索字段搜索任务,并从显示的列表中选择所需的任务。

          • 点击**添加**或**安装并添加**。

            op pipeline builder
            图 2. 流水线构建器
        • 添加最终任务

          • 点击**添加最终任务** → 点击**添加任务**。

          • 使用快速搜索字段搜索任务,并从显示的列表中选择所需的任务。

          • 点击**添加**或**安装并添加**。

    3. 在**资源**部分,点击**添加资源**以指定流水线运行的资源名称和类型。然后,流水线中的任务将使用这些资源作为输入和输出。对于此示例

      1. 添加输入资源。在**名称**字段中,输入`Source`,然后从**资源类型**下拉列表中选择**Git**。

      2. 添加输出资源。在**名称**字段中,输入`Img`,然后从**资源类型**下拉列表中选择**镜像**。

        如果缺少资源,任务旁边会显示一个红色图标。

    4. 可选:任务的**参数**会根据任务的规范预填充。如果需要,请使用**参数**部分中的**添加参数**链接添加其他参数。

    5. 在**工作区**部分,点击**添加工作区**并在**名称**字段中输入唯一的工作区名称。您可以向流水线添加多个工作区。

    6. 在**任务**部分,点击**s2i-nodejs**任务以查看包含任务详细信息的侧面板。在任务侧面板中,指定**s2i-nodejs**任务的资源和参数

      1. 如果需要,在**参数**部分,使用$(params.<param-name>)语法向默认参数添加更多参数。

      2. 在**镜像**部分,输入与**资源**部分中指定的`Img`。

      3. 从**工作区**部分下的**源**下拉菜单中选择一个工作区。

    7. 向**openshift-client**任务添加资源、参数和工作区。

  4. 点击**创建**以在**流水线详情**页面创建并查看流水线。

  5. 点击**操作**下拉菜单,然后点击**启动**,以查看**启动流水线**页面。

  6. **工作区**部分列出了您之前创建的工作区。使用相应的下拉菜单为您的工作区指定卷源。您有以下选项:**空目录**、**配置映射**、**密钥**、**持久卷声明**或**卷声明模板**。

与应用程序一起创建 OpenShift 流水线

要与应用程序一起创建流水线,请在**开发者**视角的**+添加**视图中使用**从 Git**选项。您可以查看所有可用的流水线,并选择要用于在导入代码或部署镜像时创建应用程序的流水线。

Tekton Hub 集成默认启用,您可以看到集群支持的 Tekton Hub 任务。管理员可以选择退出 Tekton Hub 集成,Tekton Hub 任务将不再显示。您还可以检查是否为生成的流水线存在 webhook URL。为使用**+添加**流程创建的流水线添加了默认 webhook,并且 URL 在拓扑视图中所选资源的侧面板中可见。

更多信息,请参见使用开发者视角创建应用程序

添加包含流水线的 GitHub 仓库

在**开发者**视角中,您可以将包含流水线的 GitHub 仓库添加到 OpenShift Container Platform 集群。这允许您在触发相关的 Git 事件(例如推送或拉取请求)时,在集群上运行来自 GitHub 仓库的流水线和任务。

您可以添加公共和私有 GitHub 仓库。

先决条件
  • 确保您的集群管理员已在管理员视角中配置了所需的 GitHub 应用程序。

步骤
  1. 在**开发者**视角中,选择您要添加 GitHub 仓库的命名空间或项目。

  2. 使用左侧导航窗格导航到**流水线**。

  3. 点击**创建** → **仓库**,位于**流水线**页面右侧。

  4. 输入您的**Git 仓库 URL**,控制台会自动获取仓库名称。

  5. 点击**显示配置选项**。默认情况下,您只看到一个选项**设置 webhook**。如果您已配置 GitHub 应用程序,则会看到两个选项

    • **使用 GitHub 应用**: 选择此选项可在您的仓库中安装您的 GitHub 应用程序。

    • **设置 webhook**: 选择此选项可向您的 GitHub 应用程序添加 webhook。

  6. 在**密钥**部分使用以下选项之一设置 webhook

    • 使用**Git 访问令牌**设置 webhook

      1. 输入您的个人访问令牌。

      2. 点击**Webhook 密钥**字段对应的**生成**以生成新的 webhook 密钥。

        Git access token

        如果您没有个人访问令牌并且想要创建一个新的,则可以点击**Git 访问令牌**字段下方的链接。

    • 使用**Git访问令牌密钥**设置Webhook

      • 从下拉列表中选择您命名空间中的一个密钥。根据您选择的密钥,系统会自动生成一个Webhook密钥。

        Git access token secret
  7. 将Webhook密钥详细信息添加到您的GitHub仓库

    1. 复制**Webhook URL**并导航到您的GitHub仓库设置。

    2. 点击**Webhooks** → **添加Webhook**。

    3. 从开发者控制台复制**Webhook URL**,并将其粘贴到GitHub仓库设置中的**Payload URL**字段。

    4. 选择**内容类型**。

    5. 从开发者控制台复制**Webhook密钥**,并将其粘贴到GitHub仓库设置中的**密钥**字段。

    6. 选择一个**SSL验证**选项。

    7. 选择触发此Webhook的事件。

    8. 点击**添加Webhook**。

  8. 返回开发者控制台并点击**添加**。

  9. 阅读您需要执行的步骤的详细信息,然后点击**关闭**。

  10. 查看您刚刚创建的仓库的详细信息。

使用**从Git导入**导入应用程序时,如果Git仓库具有.tekton目录,则可以为您的应用程序配置pipelines-as-code

使用开发者视角与流水线交互

**开发者**视角中的**流水线**视图列出了项目中的所有流水线,以及以下详细信息:

  • 创建流水线的命名空间

  • 上次流水线运行

  • 流水线运行中任务的状态

  • 流水线运行的状态

  • 上次流水线运行的创建时间

步骤
  1. 在**开发者**视角的**流水线**视图中,从**项目**下拉列表中选择一个项目以查看该项目中的流水线。

  2. 点击所需的流水线以查看**流水线详细信息**页面。

    默认情况下,**详细信息**选项卡显示所有serial任务、parallel任务、finally任务和流水线中的when表达式的可视化表示。任务和finally任务列在页面右下角。

    要查看任务详细信息,请点击列出的任务Finally任务。此外,您还可以执行以下操作:

    • 使用页面左下角显示的标准图标使用放大、缩小、适应屏幕和重置视图功能。

    • 使用鼠标滚轮更改流水线可视化的缩放比例。

    • 将鼠标悬停在任务上以查看任务详细信息。

      Pipeline details
      图3. 流水线详细信息
  3. 可选:在**流水线详细信息**页面上,点击**指标**选项卡以查看有关流水线的以下信息:

    • 流水线成功率

    • 流水线运行次数

    • 流水线运行时长

    • 任务运行时长

      您可以使用这些信息来改进流水线工作流程并在流水线生命周期的早期消除问题。

  4. 可选:点击**YAML**选项卡以编辑流水线的YAML文件。

  5. 可选:点击**流水线运行**选项卡以查看流水线的已完成、正在运行或失败的运行。

    **流水线运行**选项卡提供有关流水线运行、任务状态以及调试失败流水线运行的链接的详细信息。使用选项菜单 kebab 停止正在运行的流水线,使用与之前的流水线执行相同的参数和资源重新运行流水线,或删除流水线运行。

    • 点击所需的流水线运行以查看**流水线运行详细信息**页面。默认情况下,**详细信息**选项卡显示流水线运行中所有串行任务、并行任务、finally任务和when表达式的可视化表示。成功运行的结果显示在页面底部的**流水线运行结果**窗格中。此外,您只能看到集群支持的Tekton Hub中的任务。查看任务时,您可以点击它旁边的链接跳转到任务文档。

      **流水线运行详细信息**页面的**详细信息**部分显示失败流水线运行的**日志片段**。**日志片段**提供一般的错误消息和日志片段。指向**日志**部分的链接可快速访问有关失败运行的详细信息。

    • 在**流水线运行详细信息**页面上,点击**任务运行**选项卡以查看任务的已完成、正在运行和失败的运行。

      **任务运行**选项卡提供有关任务运行的信息,以及指向其任务和Pod的链接,以及任务运行的状态和持续时间。使用选项菜单 kebab 删除任务运行。

      **任务运行**列表页面具有**管理列**按钮,您也可以使用它添加**持续时间**列。

    • 点击所需的运行任务以查看**任务运行详细信息**页面。成功运行的结果显示在页面底部的**任务运行结果**窗格中。

      **任务运行详细信息**页面的**详细信息**部分显示失败任务运行的**日志片段**。**日志片段**提供一般的错误消息和日志片段。指向**日志**部分的链接可快速访问有关失败任务运行的详细信息。

  6. 点击**参数**选项卡以查看流水线中定义的参数。您还可以根据需要添加或编辑其他参数。

  7. 点击**资源**选项卡以查看流水线中定义的资源。您还可以根据需要添加或编辑其他资源。

从流水线视图启动流水线

创建流水线后,需要启动它才能按定义的顺序执行包含的任务。您可以从**流水线**视图、**流水线详细信息**页面或**拓扑**视图启动流水线。

步骤

要使用**流水线**视图启动流水线,请:

  1. 在**开发者**视角的**流水线**视图中,点击流水线旁边的**选项**kebab菜单,然后选择**启动**。

  2. **启动流水线**对话框会根据流水线定义显示**Git 资源**和**镜像资源**。

    对于使用**从 Git 创建**选项创建的流水线,**启动流水线**对话框还会在**参数**部分显示一个APP_NAME字段,并且对话框中的所有字段都由流水线模板预填充。

    1. 如果您的命名空间中有资源,则**Git 资源**和**镜像资源**字段会预填充这些资源。如有必要,请使用下拉菜单选择或创建所需的资源并自定义流水线运行实例。

  3. 可选:修改**高级选项**以添加用于验证指定的私有 Git 服务器或镜像注册表的凭据。

    1. 在**高级选项**下,点击**显示凭据选项**并选择**添加密钥**。

    2. 在**创建源密钥**部分,指定以下内容:

      1. 密钥的唯一**密钥名称**。

      2. 在**指定要验证的提供商**部分,在**访问**字段中指定要验证的提供商,以及基础的**服务器URL**。

      3. 选择**身份验证类型**并提供凭据。

        • 对于**身份验证类型**镜像注册表凭据,请指定您想要验证的**注册表服务器地址**,并在**用户名**、**密码**和**邮箱**字段中提供您的凭据。

          如果您想指定额外的**注册表服务器地址**,请选择**添加凭据**。

        • 对于**身份验证类型**基本身份验证,请指定**用户名**和**密码或令牌**字段的值。

        • 对于**身份验证类型**SSH 密钥,请指定**SSH 私钥**字段的值。

          对于基本身份验证和 SSH 身份验证,您可以使用以下注释:

      4. 选择复选标记以添加密钥。

    您可以根据流水线中资源的数量添加多个密钥。

  4. 点击**启动**以启动流水线。

  5. **流水线运行详情**页面显示正在执行的流水线。流水线启动后,将执行每个任务中的任务和步骤。您可以:

    • 使用标准图标(位于**流水线运行详情**页面可视化的左下角)使用放大、缩小、适应屏幕和重置视图功能。

    • 使用鼠标滚轮更改流水线运行可视化的缩放比例。在特定的缩放比例下,任务的背景颜色会发生变化,以指示错误或警告状态。

    • 将鼠标悬停在任务上以查看详细信息,例如执行每个步骤所需的时间、任务名称和任务状态。

    • 将鼠标悬停在任务徽章上以查看任务总数和已完成的任务数。

    • 点击任务以查看任务中每个步骤的日志。

    • 点击**日志**选项卡以查看与任务执行顺序相关的日志。您还可以展开窗格并使用相关按钮单独或批量下载日志。

    • 点击**事件**选项卡以查看流水线运行生成的事件流。

      您可以使用**任务运行**、**日志**和**事件**选项卡来帮助调试失败的流水线运行或失败的任务运行。

      Pipeline run details
      图 4. 流水线运行详情

从拓扑视图启动流水线

对于使用**从 Git 创建**选项创建的流水线,您可以在启动它们后使用**拓扑**视图与流水线进行交互。

要在**拓扑**视图中查看使用**流水线构建器**创建的流水线,请自定义流水线标签以将流水线与应用程序工作负载关联。

步骤
  1. 点击左侧导航面板中的**拓扑**。

  2. 点击应用程序以在侧面板中显示**流水线运行**。

  3. 在**流水线运行**中,点击**启动上次运行**以使用与前一次相同的参数和资源启动新的流水线运行。如果尚未启动流水线运行,则此选项将被禁用。您也可以在创建流水线运行时启动它。

    Pipelines in Topology view
    图 5. 拓扑视图中的流水线

在**拓扑**页面中,将鼠标悬停在应用程序左侧以查看其流水线运行的状态。添加流水线后,左下角的图标表示存在关联的流水线。

从拓扑视图与流水线交互

**拓扑**页面中应用程序节点的侧面板显示流水线运行的状态,您可以与之交互。

  • 如果流水线运行没有自动启动,侧面板会显示一条消息,指出流水线无法自动启动,因此需要手动启动。

  • 如果创建了流水线但用户尚未启动流水线,则其状态为未启动。当用户点击**未启动**状态图标时,**拓扑**视图中将打开启动对话框。

  • 如果没有构建或构建配置,则**构建**部分不可见。如果有流水线和构建配置,则**构建部分**可见。

  • 当流水线运行在特定任务运行上失败时,侧面板会显示**日志片段**。您可以在**资源**选项卡下的**流水线运行**部分查看**日志片段**。它提供了一般错误消息和日志片段。指向**日志**部分的链接可快速访问有关失败运行的详细信息。

编辑流水线

您可以使用 Web 控制台的**开发者**视角编辑集群中的流水线。

步骤
  1. 在**开发者**视角的**流水线**视图中,选择您要编辑的流水线以查看流水线的详细信息。在**流水线详情**页面中,点击**操作**并选择**编辑流水线**。

  2. 在**流水线构建器**页面上,您可以执行以下任务:

    • 向流水线添加其他任务、参数或资源。

    • 点击您要修改的任务以在侧面板中查看任务详细信息,并修改所需的任务详细信息,例如显示名称、参数和资源。

    • 或者,要删除任务,请点击任务,然后在侧面板中点击**操作**并选择**删除任务**。

  3. 点击**保存**以保存修改后的流水线。

删除流水线

您可以使用 Web 控制台的**开发者**视角删除集群中的流水线。

步骤
  1. 在**开发者**视角的**流水线**视图中,单击流水线旁的**选项**kebab菜单,然后选择**删除流水线**。

  2. 在**删除流水线**确认提示中,单击**删除**以确认删除。

在管理员视角中创建流水线模板

作为集群管理员,您可以创建流水线模板,开发人员在集群上创建流水线时可以重用这些模板。

先决条件
  • 您可以访问具有集群管理员权限的 OpenShift Container Platform 集群,并且已切换到**管理员**视角。

  • 您已在集群中安装了 OpenShift Pipelines Operator。

步骤
  1. 导航到**流水线**页面以查看现有流水线模板。

  2. 单击导入图标图标以转到**导入 YAML**页面。

  3. 添加流水线模板的 YAML。模板必须包含以下信息

    apiVersion: tekton.dev/v1
    kind: Pipeline
    metadata:
    # ...
      namespace: openshift (1)
      labels:
        pipeline.openshift.io/runtime: <runtime> (2)
        pipeline.openshift.io/type: <pipeline-type> (3)
    # ...
    1 模板必须在openshift命名空间中创建。
    2 模板必须包含pipeline.openshift.io/runtime标签。此标签的可接受运行时值是nodejsgolangdotnetjavaphprubyperlpythonnginxhttpd
    3 模板必须包含pipeline.openshift.io/type:标签。此标签的可接受类型值是openshiftknativekubernetes
  4. 单击**创建**。创建流水线后,您将转到**流水线详细信息**页面,您可以在其中查看有关流水线的信息或编辑流水线。

Web 控制台中的流水线执行统计信息

您可以在 Web 控制台中查看与流水线执行相关的统计信息。

要查看统计信息,您必须完成以下步骤

  • 安装 Tekton Results。有关安装 Tekton Results 的更多信息,请参阅“其他资源”部分中的《使用 Tekton Results 提高 OpenShift Pipelines 可观测性》。

  • 启用 OpenShift Pipelines 控制台插件。

所有流水线以及每个单独的流水线的统计信息都可用。

OpenShift Pipelines 流水线控制台插件仅为技术预览功能。技术预览功能不受 Red Hat 生产服务级别协议 (SLA) 的支持,并且可能无法完全实现功能。Red Hat 不建议在生产环境中使用它们。这些功能可让您抢先体验即将推出的产品功能,从而使客户能够在开发过程中测试功能并提供反馈。

有关 Red Hat 技术预览功能的支持范围的更多信息,请参阅技术预览功能支持范围

启用 OpenShift Pipelines 控制台插件

要查看统计信息,您必须首先启用 OpenShift Pipelines 控制台插件。

先决条件
  • 您已在集群中安装了 Red Hat OpenShift Pipelines Operator。

  • 您已使用集群管理员权限登录到 Web 控制台。

OpenShift Pipelines 控制台插件需要 OpenShift Container Platform 版本 4.15 或更高版本。

步骤
  1. 在 Web 控制台的**管理员**视角中,选择**Operators** → **已安装的 Operators**。

  2. 在 Operators 表中单击**Red Hat OpenShift Pipelines**。

  3. 在屏幕右侧窗格中,检查**控制台插件**下的状态标签。该标签为**已启用**或**已禁用**。

  4. 如果标签为**已禁用**,请单击此标签。在显示的窗口中,选择**启用**,然后单击**保存**。

查看所有流水线的统计信息

您可以查看与系统上所有流水线相关的汇总统计信息。

先决条件
  • 您已在集群中安装了 Red Hat OpenShift Pipelines Operator。

  • 您已安装 Tekton Results。

  • 您已安装 OpenShift Pipelines Web 控制台插件。

步骤
  1. 在 Web 控制台的**管理员**视角中,选择**流水线** → **概述**。

    将显示统计信息概述。此概述包括以下信息:**反映一段时间内流水线运行数量和状态的图表** 同期流水线执行的总持续时间、平均持续时间和最大持续时间。** 同期流水线运行的总数。

    还会显示一个流水线表。此表列出了在该时间段内运行的所有流水线,显示其持续时间和成功率。

  2. 可选:根据需要更改统计信息显示的设置

    • **项目**:要显示其统计信息的项目或命名空间。

    • **时间范围**:要显示其统计信息的时间段。

    • **刷新间隔**:在您查看数据时,Red Hat OpenShift Pipelines 必须更新窗口中数据的频率。

查看特定流水线的统计信息

您可以查看与特定流水线相关的统计信息。

先决条件
  • 您已在集群中安装了 Red Hat OpenShift Pipelines Operator。

  • 您已安装 Tekton Results。

  • 您已安装 OpenShift Pipelines Web 控制台插件。

步骤
  1. 在 Web 控制台的**管理员**视角中,选择**流水线** → **流水线**。

  2. 单击流水线列表中的一个流水线。将显示**流水线详细信息**视图。

  3. 单击**指标**选项卡。

    将显示统计信息概述。此概述包括以下信息:**反映一段时间内流水线运行数量和状态的图表** 同期流水线执行的总持续时间、平均持续时间和最大持续时间。** 同期流水线运行的总数。

  4. 可选:根据需要更改统计信息显示的设置

    • **项目**:要显示其统计信息的项目或命名空间。

    • **时间范围**:要显示其统计信息的时间段。

    • **刷新间隔**:在您查看数据时,Red Hat OpenShift Pipelines 必须更新窗口中数据的频率。