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







概述

让我们来探索一些使用JFrog管道的最常见的方法。


管线是一个DevOps自动化解决方案,设计用于作为JFrog平台的一部分 使软件发布频繁、可预测且无错误。

管道通过连接帮助开发人员和DevOps团队实现CI/CDJFrog平台的所有元素,以及您可能使用的任何其他DevOps工具,通过事件驱动的自动化工作流程。

页面内容


持续集成

连续积分(CI)是t一种软件开发实践,即尽可能频繁地将代码更改合并到主分支中,然后通过创建构建并对构建运行自动化测试来进行验证。

这种验证增量更改的实践有助于确保持续的功能质量,并避免了由大量累积的代码更改合并而产生的复杂挑战。持续集成工作流帮助软件团队确保在进行更改时,使用整个代码库的最新版本构建和测试他们的更改。因此,大多数错误几乎在提交代码更改后立即被发现,从而提高了质量,因为每个错误都可以很容易地隔离到特定的代码更改并迅速修复。

CI工作人员的主要目标是产生一个可以交付到评估的第一阶段的构建。作为JFrog平台的一部分,pipeline帮助确保这些构建包含Artifactory和XRay支持的所有元数据,因此它们是完全可跟踪、可搜索和安全的。

一个充分利用JFrog平台的管道CI工作流可以为一个容器化的构建执行以下顺序:

  • 向源代码存储库(如GitHub)提交一个新的提交。
  • GitHub通知管线(通过webhook)的变化。
  • 管道开始自动执行CI工作流。
  • workklow将创建构建的步骤分发到可用的执行节点,其中每个步骤都在为满足该步骤的需求而配置的运行时容器中执行。
  • 由这些步骤生成的所有中间二进制文件都存储在带有构建信息的Artifactory存储库中。
  • 如果成功,工作流生成的构建将被推送到Artifactory中的Docker存储库中,并包含构建信息。
  • 通过XRay扫描完成的构建,以识别安全漏洞和许可策略的合规性。

持续交付

连续交付(CD)是t自动化交付构建到选定的基础设施环境(如开发、测试和生产环境)的软件操作实践。

CD工作流通过DevOps过程中每一组涉众的不同阶段自动化交付和验证已完成的构建。它有助于确保发布到生产中的代码是高质量的,并可以大大加快更新过程,以便始终运行最可靠的软件版本。

作为JFrog平台的一部分,pipeline还帮助团队遵循由Artifactory支持的构建推广的最佳DevOps实践,以及构建通过每个评估阶段时的元数据积累。

一个充分利用JFrog平台的管道CD工作流可以为一个容器化的构建执行以下顺序:

  • 管道中的CI工作流生成一个新的构建。
  • CI工作流的成功完成将触发CD工作流的执行。
  • 管道CD工作流步骤执行到:
    • 在基础设施上提供开发环境,部署构建并使用开发级测试进行验证,成功后添加元数据。
    • 将构建提升到测试阶段存储库、提供测试环境、在构建上运行QA测试、添加元数据。
    • 将构建提升到生产存储库
  • 如果需要,Pipelines CD工作流可以使用新验证的构建自动更新生产环境。

它操作

为了支持DevOps团队,IT Operations需要自动化基础设施供应、映像构建和安全补丁等活动,以避免配置漂移,确保可预测性和可重复性,并使软件交付过程更加可靠。例如,像Test和Staging这样的中间环境应该是生产环境的完美再现,这样您就可以捕捉生产环境中可能出现的所有错误,并轻松地在任何环境中再现它们。您的基础设施每次都应该以完全相同的方式提供,以避免由于配置错误而出现问题。

管道通过提供以下功能帮助您自动化IT操作:

  • 集成流行的工具,如Terraform, Ansible, Chef和Puppet,以帮助自动化配置您的环境。您可以将您的供应脚本存储在您的源代码控制存储库中,每当您的脚本更改时,环境就会更新,这将触发DevOps工作流的其余部分。您甚至可以管理您的vpc和网络配置代码。
  • 您可以轻松地创建部署到环境中的所有应用程序的依赖关系树。如果对环境进行了更新,可以根据需要自动重新部署应用程序。
  • 您可以轻松地将subnet_id、security_group_id等信息传输到下游活动。例如,EC2供应器作为您工作流程的一部分。不再需要手动复制粘贴。
  • 您可以在运行时模板化脚本并注入变量,以确保为每次执行设置了正确的上下文。
  • 管道提供了内置状态,因此如果您需要存储诸如terrraform状态文件之类的信息,则不需要在其他地方维护它。它被存储为工作流的一部分,任何需要它的作业都可以使用。
  • 您拥有配置的完整历史记录,重新生成以前的配置是一键回滚操作。
  • 您的基础设施配置可以是整个DevOps工作流的一部分,因此您可以实现高级场景,例如配置pipeline,以便在应用程序的新版本可用时提供随需应变的测试环境。如果所有测试都通过,您还可以自动触发测试并拆除测试环境。


  • 没有标签
版权所有©2023 JFrog Ltd。