ghostzero/bunny

将文件复制并存储到边缘!

安装: 20

依赖项: 0

建议者: 0

安全性: 0

星星: 19

关注者: 2

分支: 6

类型:项目

0.2.2 2023-04-01 18:42 UTC

This package is auto-updated.

Last update: 2024-09-03 10:49:19 UTC


README

请仅将Bunny CLI用于开发目的。我们尚未发布稳定版本。

Bunny CLI是什么?

Bunny CLI是一个控制台工具,用于快速上传前端框架(如Angular、Vue.js、React或更近期的Blazor)到Bunny CDN的Edge Store。

借助Bunny CDN的存储边缘,您的Web应用可以受益于复制的存储区域、全球内容分发网络,该网络在全球5个不同区域托管文件,并通过全球内容分发网络(超过54+ PoP)加速一切。

如何使用Bunny CLI?

要安装Bunny CLI,您需要使用Composer。有关Composer的更多详细信息,请参阅Composer文档

composer global require own3d/bunny-cli

如果您想更新Bunny CLI,只需执行以下命令

composer global update own3d/bunny-cli

安装Bunny CLI后,下一步通常是运行bunny init命令以执行初始设置任务。您也可以稍后运行bunny init以更改设置或创建新的配置。

运行Bunny Init

初始化Bunny CLI

  1. 运行bunny init
bunny init
  1. 配置您的API凭据。

为了使Bunny CLI正常工作,您需要存储您的Bunny CDN API令牌。您可以在您的账户设置中找到API令牌。

  1. 如有提示,请选择当前的存储区域。

如果您只能访问一个存储区域,包括默认的拉取区域,则bunny init会为您选择。

bunny init完成时,它会在您的.env文件中保存环境变量。

您可以使用bunny env:list命令在任意时间查看这些环境变量。

部署您的第一个项目

使用bunny deploy命令,您可以轻松地将您的dist文件夹与边缘存储同步。

重要:边缘存储中所有不在您本地dist目录中的文件都将被删除。

➜ $ bunny deploy  
- Hashing files...  
✔ Finished hashing 16360 files  
- CDN diffing files...  
✔ CDN requesting 10875 files  
- Synchronizing 10875 files  
 10875/10875 [============================] 100%  
✔ Finished synchronizing 10875 files  
- Waiting for deploy to go live...  
✔ Deployment is live! (322.96s)

Website URL: https://bunny-cli.b-cdn.net/

如何将Bunny CLI集成到我的GitHub Actions工作流程中?

我们提供免费GitHub Action for Bunny CLI。您可以使用此操作在部署过程中轻松将可分发文件上传到边缘存储。只需将存储密码(BUNNY_STORAGE_PASSWORD)和您的API密钥(BUNNY_API_ACCESS_KEY)放入GitHub仓库的秘密中,并根据以下方式调整您的工作流程。

- name: Deploy to Edge Storage
  uses: own3d/bunny-action@main
  env:
    BUNNY_API_ACCESS_KEY: ${{ secrets.BUNNY_API_ACCESS_KEY }}
    BUNNY_STORAGE_USERNAME: bunny-cli
    BUNNY_STORAGE_PASSWORD: ${{ secrets.BUNNY_STORAGE_PASSWORD }}
    BUNNY_STORAGE_PATH: some_target_edge_dir (optional)
    BUNNY_PULL_ZONE_ID: 466588
  with:
    args: deploy --dir=dist

环境变量

您可以在任何时间自定义环境文件。以下命令可用于此目的

保护.well-known/bunny-cli.lock文件

Bunny CLI生成一个默认位于.well-known/bunny-cli.lock的锁定文件。此文件将您的项目文件锁定到已知状态。为了避免公开访问,建议在您的拉取区域中创建新的边缘规则。您可以使用以下示例作为模板

操作:阻止请求
条件匹配:匹配任何
条件:如果请求URL 匹配任何 */.well-known/bunny-cli.lock

现在该文件应该不再可访问。您的边缘规则可能需要几分钟才能生效。

常见问题解答

Q:这是零停机部署吗?

回答:视情况而定。只有在文件同步完成时,才会清除拉取区域缓存。因此,如果由于缓存过期或缺失而没有CDN缓存,则可能会发生未预料的事件。

我们希望与Bunny CDN一起解决这个问题。

问题:这是Bunny CDN的官方工具吗?

回答:不是。Bunny CLI是一个由社区驱动的工具,与Bunny CDN无关联。

许可证

Bunny CLI是一个在Apache 2.0许可证下授权的开源软件。