使用厨师从git获取一个文件

时间:2014-11-12 16:53:24

标签: git chef

我的git仓库中有一个配置文件,我想在厨师食谱中使用。在食谱中获取该文件的最佳方法是什么?

git cookbook只允许检查整个仓库,至少我可以看到(https://docs.getchef.com/resource_git.html)。我真的想避免这种情况。

3 个答案:

答案 0 :(得分:3)

如果您的Git Web前端(gitweb,Github,Gitlab,Gitblit)允许您通过HTTP从存储库下载原始文件,那么最简单的解决方案是使用remote_file在Chef中选择它。所有提到的Git web前端都允许你这样做。

答案 1 :(得分:2)

要比其他答案更具体,您可以使用它:

execute "git archive --remote=#{repo_url} HEAD:#{File.dirname(from_path)} #{File.basename(from_path)} | tar -x" do
  creates to_path
  cwd ::File.dirname(to_path)
end

答案 2 :(得分:1)

您可以将git archivetar一起使用,如:

git archive --remote=<repo_url> HEAD:<path/to/directory> filename | tar -x