own3d / bunny-cli
复制并存储您的文件到边缘!
Requires
- php: ^7.4|^8.0
- ext-json: *
Requires (Dev)
- guzzlehttp/guzzle: ^7.0
- laminas/laminas-text: ^2.8
- laravel-zero/framework: ^8.8
- mockery/mockery: ^1.4.3
- pestphp/pest: ^1.3
README
请仅将Bunny CLI用于开发目的。我们尚未发布稳定版本。
Bunny CLI是什么?
Bunny CLI是一个用于控制台的工具,可以快速上传Angular、Vue.js、React等前端框架到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
- 运行
bunny init
bunny init
- 配置您的API凭证。
为了让Bunny CLI正常工作,您需要存储您的Bunny CDN API令牌。您可以在您的账户设置中找到您的API令牌。
- 如果提示,请选择一个当前存储区域。
如果您只能访问一个存储区域,包括默认的拉取区域,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工作流程中?
我们为您提供免费的Bunny CLI GitHub Action。您可以使用此操作在部署过程中轻松上传您的可分发文件到边缘存储。只需将您的存储密码(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
现在文件应不再可访问。可能需要几分钟,直到您的Edge规则生效。
常见问题
问:这是一个零停机时间部署吗?
答:取决于情况。只有在文件同步完成并清除拉取区域缓存后,才能进行。因此,如果由于缓存过期或缺失而CDN缓存不存在,则可能会发生意外事件。
我们希望与Bunny CDN一起解决这个问题。
问:这是Bunny CDN的官方工具吗?
答:不是。Bunny CLI是一个社区驱动的工具,与Bunny CDN无关。
许可证
Bunny CLI是一个开源软件,根据Apache 2.0许可证授权。