【问题标题】:Download multiple files and/or folder from github using ansible使用 ansible 从 github 下载多个文件和/或文件夹
【发布时间】:2017-03-06 23:09:23
【问题描述】:

我有一个 github 存储库,其中包含多个应用程序和二进制文件。我只想从包含 1000 个文件和子文件夹的存储库中下载一个特定的文件夹(例如:application_1.2.0/)。

我想写一个 ansible 脚本来下载它。我尝试将其设为.zip 并上传到github,以便我可以使用来自github 的ansible 中的get_url 模块进行下载。但是,我的错误是超过 400 MB。 GitHub 不接受大文件。

还有其他方法吗?

【问题讨论】:

  • 这在 Git 白话中称为“稀疏检出”。 Ansible git 模块目前不支持它(尽管您会在 Google 搜索结果中到处看到请求和讨论)。您可以使用单个任务对其进行配置。

标签: git github ansible ansible-playbook


【解决方案1】:

一般来说,如果您将生成的文件(包括但不限于二进制文件)检查到您的 git 存储库中,那么您做错了; git 不能很好地处理这样的大文件,社区认为这种事情是一种反模式。

还有多种其他方法,哪种方法有意义取决于您的情况。常见的有:

  • 将文件存储在 Amazon S3 等文件存储中
  • 在本地生成文件并使用 ansible 直接部署它们(使用 copysynchronize 模块)
  • 在 CI 系统中生成文件作为构建工件,并在该系统中执行“持续部署”基于推送的部署

【讨论】:

  • 我明白你的意思,我知道它存储文物的错误方法。但我现在无法更改整个工作流程。我只是在寻找解决此问题的解决方法。
  • 如果您可以将 .zip 上传到 github 并使用 get_url,那么您应该可以将 .zip 上传到 s3 并使用 get_url;这些是相同数量的工作流程更改。
猜你喜欢
  • 1970-01-01
  • 2022-12-06
  • 1970-01-01
  • 1970-01-01
  • 2021-11-02
  • 1970-01-01
  • 2016-01-09
  • 1970-01-01
  • 2018-10-31
相关资源
最近更新 更多