云客户?
免费开始>
在MyJFrog >中升级
云有什么新>





概述

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

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

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

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

确定步骤的离散性的一些指导方针是:

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

例子管道

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

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

单步法

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

上述方法具有以下特点:

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

多步法

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

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

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

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

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