云客户?
免费开始>
在MyJFrog中升级>
云的新功能>





概述

最重要的决定之一您在设计管道时需要做的是如何将您的DevOps流程映射到JFrog管道的步骤和资源概念。2022世界杯阿根廷预选赛赛程

一个一步是执行命令来完成活动的管道组件,例如构建二进制文件,将二进制文件推送到存储库,部署服务,提供VPC或集群等。

JFrog pipeline的原生步骤帮助您将管道构建为一系列较小的操作。例如,您可以使用本机步骤DockerBuild来构建Docker镜像,然后使用DockerPush将生成的映像推送到Docker注册表。

这对于pipeline构建工作流的“构建块”方法至关重要。因此,确保使用泛型创建的步骤是至关重要的最佳实践Bash步骤封装类似于本机步骤的离散操作。

确定一个步骤的离散性的一些准则是:

  • 一个步骤应该执行一个任务,这样您就可以获得该任务的离散状态。
  • 一个步骤可以独立触发以触发下游管道,因此在设计步骤边界时应考虑到这一点。
  • 步骤可以并行运行以加速管道执行,因此如果您有一个大型测试套件,您可以将其划分为几个步骤并并行运行。
  • 步骤可以在不同大小的节点上运行,因此,如果您希望在更大或更小的节点上运行一系列步骤,请将其分离为一个步骤。
  • 一个步骤应该有一个连续的工作流,中间没有停顿。例如,如果您需要手动输入一个步骤,那么最好将该步骤分成另一个步骤,中间有一个审批门。这可以防止步骤阻塞等待输入的构建节点。
  • 对于基于分支的管道,最好将每个分支(或分支类型)的步骤分开,这样您就可以轻松地识别每个分支的状态。
页面内容

例子管道

让我们举一个典型管道的简单例子。对于每一个合并到在你的GitRepo分支中,你需要:

  1. 构建Docker镜像
  2. 将它推送到Docker注册表
  3. 将其部署到Kubernetes开发环境中
  4. 针对已部署的应用运行测试,并发送结果通知

单步法

从技术上讲,您可以将所有这些步骤合并为一个步骤Bash一步.您的管道图将是一个单独的步骤,由您的GitRepo资源:

上述方法具有以下特点:

  • 没有离散状态。如果此步骤失败,则无法一目了然地判断构建、部署或功能测试是否失败。
  • 整个管道作为一个整体运行,因此没有办法将部件分开进行特殊处理。例如,您不能在带有支持组件的自定义运行时的节点上运行功能测试套件。

多步骤法

让我们看一看同一管道的另一种方法,它使用本地步骤和Bash步骤:

正如您所看到的,管道具有更加离散的结构,并且每个步骤都可以发送其状态通知。

您还可以使用自定义运行时在节点上运行“运行测试”步骤,甚至把它分成平行的步骤需要的。

这是推荐的方法,用于定义足够离散的步骤,以便能够执行临时操作,如识别状态、发送通知和评估结果。

  • 没有标签
版权所有©2022 JFrog Ltd.