持续集成
持续集成(CI)是t软件开发实践是尽可能频繁地将代码变更合并到主分支中,然后通过创建构建并针对构建运行自动化测试来进行验证。
这种对增量更改进行验证的实践有助于确保持续的功能质量,并避免由于大量合并累积的代码更改而产生的复杂挑战。持续集成工作流帮助软件团队确保他们的更改是在进行更改时使用整个代码库的最新版本构建和测试的。因此,在提交代码更改之后,几乎可以立即发现大多数错误,从而提高质量,因为每个错误都可以很容易地分离到特定的代码更改并及时修复。
CI工作流的主要目标是生成准备交付到第一阶段评估的构建。作为JFrog平台的一部分,Pipelines有助于确保这些构建包含Artifactory和XRay支持的所有元数据,因此它们是完全可跟踪、可搜索和安全的。
一个充分利用JFrog平台的pipeline CI工作流可以为容器化构建执行以下顺序:
- 向源代码存储库(如GitHub)提交新文件。
- GitHub通知管道(通过webhook)更改。
- 管道开始自动执行CI工作流。
- 工作流将创建构建的步骤分发到可用的执行节点,其中每个步骤在为满足步骤需要而配置的运行时容器中执行。
- 这些步骤生成的所有中间二进制文件都存储在带有构建信息的Artifactory存储库中。
- 如果成功,工作流生成的构建将被推送到Artifactory中的Docker存储库,并附带构建信息。
- 完成的构建由XRay扫描,以识别安全漏洞和与许可策略的遵从性。
持续交付
持续交付(CD)是t将构建自动化交付到选定的基础设施环境(如开发、测试和生产)的软件操作实践。
CD工作流通过DevOps过程中每组涉众的不同阶段,自动完成构建的交付和验证。它有助于确保发布到产品中的代码是高质量的,并且可以大大加快更新过程,以便始终运行最可靠的软件版本。
作为JFrog平台的一部分,pipeline还帮助团队遵循Artifactory支持的构建提升的最佳DevOps实践,并在构建通过每个评估阶段时积累元数据。
一个充分利用JFrog平台的pipeline CD工作流可以为容器化构建执行以下顺序:
- 管道中的CI工作流生成一个新的构建。
- CI工作流的成功完成将触发CD工作流的执行。
- 管道CD工作流步骤执行如下:
- 在基础设施上提供开发环境,部署构建并使用开发级测试进行验证,在成功时添加元数据。
- 将构建提升到测试阶段存储库,提供测试环境,在构建上运行QA测试,添加元数据。
- 将构建提升到生产存储库
- 如果需要,Pipelines CD工作流可以使用新验证的构建自动更新生产环境。
它操作
为了支持DevOps团队,IT运维需要自动化基础设施供应、映像构建和安全补丁等活动,以避免配置漂移,确保可预测性和可重复性,并使您的软件交付过程更加可靠。例如,像Test和Staging这样的中间环境应该是生产环境的完美再现,这样您就可以捕获生产环境中可能出现的所有错误,并轻松地在任何环境中再现它们。每次都应该以完全相同的方式配置基础结构,以避免由于配置错误而导致的问题。
管道通过提供以下功能帮助您自动化IT操作:
- 与流行的工具(如Terraform、Ansible、Chef和Puppet)集成,帮助您自动配置环境。您可以将您的供应脚本存储在您的源代码控制存储库中,并且每当您的脚本更改时,环境就会更新,这将触发您的DevOps工作流的其余部分。您甚至可以将vpc和网络配置作为代码进行管理。
- 您可以轻松地为部署到环境中的所有应用程序创建依赖关系树。如果对环境进行了更新,则可以根据需要自动重新部署应用程序。
- 您可以轻松地将subnet_id、security_group_id等信息传输到下游活动。例如,EC2提供程序作为工作流的一部分。不再需要手动复制粘贴。
- 您可以在运行时模板化脚本并注入变量,以确保为每次执行设置正确的上下文。
- 管道提供了内置状态,因此如果您需要存储诸如Terraform状态文件之类的信息,则不需要在其他地方维护它。它被存储为工作流程的一部分,可供任何需要它的工作使用。
- 您拥有配置的完整历史记录,并且只需单击回滚即可再现以前的配置。
- 你的基础设施配置可以成为整个DevOps工作流程的一部分,因此你可以实现高级场景,比如配置管道,以便在应用程序的新版本可用时启动随需应变的测试环境。您还可以自动触发您的测试,并在所有测试都通过的情况下关闭您的测试环境。