attach_workspace用于恢复缓存?对于主要目的是什么?

在本文档中,restore_cache在工作目录不能使用恢复宝石attach_workspace。我有时看到attach_workspacepersist_to_workspace用于恢复和缓存宝石。

编译:working_directory的:〜/应用程序的步骤: - 结帐 -  restore_cache:键: - 轨束-V1  -  {{校验 “Gemfile.lock的”}}  - 轨束-V1- - 运行:名称:包安装命令:包检查--path供应商/束||束安装--deployment  -  save_cache:键:导轨束-V1  -  {{校验 “Gemfile.lock的”}}的路径: - 供应商/束 -  persist_to_workspace:根:〜/应用程序的路径: - 供应商/束部署:working_directory的:〜/应用程序的步骤: - 结帐 -  attach_workspace:#< - 是否有可能恢复高速缓存????在〜/应用程序

我也尝试恢复宝石无persist_to_workspaceattach_workspace。请参考.circleci / config.yml,其结果形成以下链接。它已经成功完成!

:波:工作区和缓存之间的核心区别是,工作区范围限定为您的工作流程,而缓存中的项目是在所有的工作流提供。

工作流是在乔布斯之间传递文物有用单一的工作流程。例如,假设你有一个从您的工作流程中的第一份工作的一些构建文物,你想在随后的工作中使用这些,你将它们保存到工作区中的第一份工作,然后装上工作区中的下一个作业检索它们。一旦流已完成,工作区不再提供服务,因此你将无法取回任何你保存有你触发下一个版本。

缓存可以让您保存缓存,然后检索它任何后续作业,即使它是不一样的工作流程的一部分,只要您使用相同的缓存键。

在这种情况下红宝石宝石,这将是最好使用缓存,你想恢复这些宝石在每一个后续作业,甚至通过建立新的提交触发。

缓存红宝石宝石的例子可以在我们的文档中找到:

我希望这个澄清的工作空间和缓存之间的差别!