Circleci 2.0提供了许多不同的方式来将数据移动到作业,持续数据,持续数据,并在引入工作区时,移动数据之间的数据。使用合适的任务功能将有助于加快构建,提高重复性,提高效率。

对于那些等待CI的任何人来说,越来越快的CI运行的好处将会清楚。

重复性也很重要。可重复的CI过程意味着如果您再次运行相同的进程,请从您的回购中再次运行相同的SHA,您将获得相同的结果。当一个CI过程不可重复时,您会发现自己浪费时间重新运行工作,让他们变得绿色。

如何在Circleci作业之间流动

图 -  v3  -  default.png

数据可以以不同方式在Circleci作业之间流动。工作空间在单个工作流中持续作业之间的数据。缓存在不同工作流构建中的同一作业之间持久性数据。工作流程完成后,文物仍然存在数据。使用情况,实现和时间数据量将在它们之间变化。

工作区

图-v3-workspaces.png工作区在工作流程中移动顺序作业之间的数据。

在作业中声明工作空间时,可以添加一个或多个文件或目录。每个添加在工作区文件系统中创建一个新图层。然后,下游的作业可以使用此工作空间进行自己的需求,或在顶部添加更多图层。

与缓存不同,工作空间不在运行之间共享,因为工作流程完成后不再存在。有一个例外,重新运行的工作流程。有关此的更多信息,并在明天的博客文章中找到了完整的工作空间,并在明天的博客文章中找到:深潜入Circleci工作区

缓存

图-v3-cache.png缓存在多个工作流程中运行的同一作业之间存在持续数据。

缓存允许您将数据从以前的作业中重复使用昂贵的获取操作。在初始作业运行之后,未来的作业实例将不会更快地运行更快的工作。Prime示例是包依赖管理器,如纱线,捆绑程序或PIP。使用依赖项从缓存中恢复,命令如纱线安装只需要下载新的依赖项,如果有的话,而不是在每个构建中重新加载所有内容。

缓存在一个项目中是全局的,其他人将使用保存在一个分支上的缓存,因此它们应该仅用于在分支中共享的数据。有关这样的更多提示和更深入地了解Circleci缓存,您可以阅读Circleci 2.0缓存Doc

伪影

图-V3-ARIFACT.png完成工作流程后持续数据仍然存在。

文物用于构建过程的输出的长期存储。例如,如果您有一个Java项目,您的构建很可能会产生一个。罐代码的文件。您的测试将验证此代码。如果整个构建/测试过程通过,那么该过程的输出(。罐)可以存储为工件。该。罐在创建它已完成的工作流程后,文件可以从我们的工件系统下载。

如果您的项目需要以某种形式或时尚包装,请说出.Apk文件上传到Google Play的Android应用程序,这是工件的一个很好的例子。许多用户将其工件携带并将其上传到公司范围内的存储位置,例如Amazon S3或artifactory。188bet娱乐官网可以在其中找到更多提示和最新信息Circleci神器Doc.

这些Circleci功能非常灵活,您没有以他们在此解释的方式实施它们。这些是我们对常见用例的建议。


寻找更多地洞察工作区以及如何最好地使用它们?阅读我们的后续博客文章,深潜入Circleci工作区

有关所有事项的概述,工作流程可以执行,包括OSS Configs,请参阅宽阔的工作流量系列