otago / remote-asset-download
远程资产下载任务
v4.6.6
2021-02-03 03:06 UTC
Requires
- silverstripe/framework: ~4.1
- silverstripe/vendor-plugin: ^1.0
README
从运行 SilverStripe 的远程服务器下载文件
一个任务,从目标服务器下载 assets/* 中的可访问文件
当您想在不进行完整文件快照的情况下将资产更新到开发环境时很有用。这对于大型网站非常有用。
安装
- composer require otago/remote-asset-download
- 在目标机器上创建一个可以读取和写入您想要同步的资产的用户。此用户还用于在本地机器上以 CLI 模式运行任务。
- 创建自己的 app/_config/remoteassetssync.yml
- 更新 app/_config/remoteassetssync.yml 中的新用户的用户名和密码,如下所示
---
Name: RemoteAssetTask
---
OP\RemoteAssetReadFilesController:
target: https://website.where.filescomefrom
user: myuserwithfilepermissions@website.org
password: mysecretpassword
ignore:
- assets/studenthub/
- assets/staffhub/
用户必须在 SilverStripe 中存在,并且有权访问资产。您可以在 SilverStripe CMS 中将用户限制为特定的文件和文件夹。
如何运行
在本地机器的浏览器中打开 /dev/tasks/OP-RemoteAssetTask。
您还可以通过以下方式从命令行运行它
vendor/silverstripe/framework/sake dev/tasks/OP-RemoteAssetTask
工作原理
GraphQL
当您在本地机器上通过 HTTP 加载任务时,一个 AJAX 轮询将要求您的本地机器向目标服务器发送一个 GraphQL 请求。这将返回 assets 中的文件列表。然后,此结果将返回到您的本地机器,然后从目标服务器批量下载这些文件。
注意
- 当任务开始遇到具有相同名称和 id 的文件时,它将停止。
- 如果文件具有不同的文件名和相同的 id,它将被覆盖