使用chef从git获取一个文件

使用chef从git获取一个文件,git,chef-infra,Git,Chef Infra,在我的git repo中有一个配置文件,我想在厨师食谱中使用它。在配方中获取该文件的最佳方式是什么 git cookbook只允许查看整个回购协议,至少在我看来是这样。我真的想避免这种情况。您可以将git archive与tar一起使用,比如: 您可以将git archive与tar一起使用,如: 为了比另一个答案更具体,您可以这样使用它: execute "git archive --remote=#{repo_url} HEAD:#{File.dirname(from_path)} #{Fi

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

git cookbook只允许查看整个回购协议,至少在我看来是这样。我真的想避免这种情况。

您可以将git archive与tar一起使用,比如:

您可以将git archive与tar一起使用,如:


为了比另一个答案更具体,您可以这样使用它:

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

为了比另一个答案更具体,您可以这样使用它:

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

如果您的Git web前端gitweb、Github、Gitlab、Gitblit允许您通过HTTP从存储库下载原始文件,那么最简单的解决方案就是使用远程文件在Chef中获取这些文件。所有提到的Git web前端都允许您这样做。

如果您的Git web前端gitweb、Github、Gitlab、Gitblit允许您通过HTTP从存储库下载原始文件,那么最简单的解决方案就是使用远程文件在Chef中获取这些文件。所有提到的GitWeb前端都允许您这样做