如何使用Ansible从我的git存储库中检索单个文件?

时间:2019-07-29 13:42:47

标签: git ansible bitbucket

我正在尝试通过bitbucket分支检索单个文件,而不是使用git模块获取整个分支。整个分支花费了2分钟以上的时间,我真的只需要一个文件。

3 个答案:

答案 0 :(得分:0)

您可以尝试git archive从远程git存储库获取文件

git archive --remote=git://git.example.com/project.git HEAD:path/in/repo filename | tar -x

您可以参考Vonc的答案以获取详细信息-For more info

答案 1 :(得分:0)

您可以使用稀疏签出选项

git config core.sparseCheckout true
git remote add -f origin git:<<providde url>
echo "path/to/folder/*" > .git/info/sparse-checkout
git checkout <branchname>

答案 2 :(得分:0)

Ansible的模块git可以执行git archive,但问题是does it from a local clone。如果没有本地克隆,它将首先克隆,这是您要避免的克隆,因此无法使用模块git

因此,您必须使用commandshell

- name: Get a file using git archive
  command: git archive --remote=https://bitbucket.com/user/project.git HEAD:path/in/repo filename -o /path/to/archive.zip