【问题标题】:Opscode Chef - way to cleanup /shared/cached-copyOpscode Chef - 清理 /shared/cached-copy 的方法
【发布时间】:2013-09-26 21:21:10
【问题描述】:

我们在管道中使用 Opscode Chef,我们注意到部署(请参阅 http://docs.opscode.com/resource_deploy.html)将我们的源代码的完整副本创建到 /shared/cached-copy

它的 .git/object 文件夹中已经有近千个完整版本(不仅仅是增量!),所以文件大小增长和增长。

有什么办法可以清除甚至完全防止这种情况?我们根本不需要它。

当然,我可以在每次部署后写一些东西来删除目录,但是有没有好的方法来处理这个问题?谢谢。

【问题讨论】:

  • 请不要忘记将答案标记为正确! :)
  • 如果有答案我会的。
  • 第一个答案有什么问题?

标签: git chef-infra pipeline chef-recipe cookbook


【解决方案1】:

缓存副本是有目的的,当 git 从远程拉取更改时,缓存副本仅用于拉取丢失的内容,不再拉取。然后这个缓存的副本使用 git 克隆到一个新的修订版本,当 git 克隆同一个磁盘上的存储库时,它会创建硬链接——所以你的 .git/objects 不会重复,它们是所有“副本”共享的相同文件。我建议你不要动这个目录,它实际上很重要。

【讨论】:

  • 来自上面的链接:repository_cache 保存应用程序源原始副本的子目录的名称。默认值:缓存副本。它是所有内容的完整副本。
【解决方案2】:

我们看到了一些不同的东西。在我们的例子中,我们使用子模块。删除子模块时, git pull 不会删除旧的子模块目录。所以我们只剩下垃圾了。缓存副本被复制到带有这个额外代码的版本中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-04
    • 2014-06-20
    • 2016-07-18
    • 1970-01-01
    • 2012-04-14
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多