使用 CircleCI 工作流管理空间
您可以使用 **CircleCI 工作流** 使您的应用程序与您的 GitHub 存储库保持同步。
CircleCI 是一个持续集成和持续交付 (CI/CD) 平台,有助于自动化软件开发流程。一个 CircleCI 工作流 是一组在配置文件中定义的自动化任务,由 CircleCI 编排,以简化构建、测试和部署软件应用程序的过程。
注意:对于大于 10MB 的文件,Spaces 需要 Git-LFS。如果您不想使用 Git-LFS,您可能需要查看您的文件并检查您的历史记录。使用像 BFG Repo-Cleaner 这样的工具从您的历史记录中删除任何大型文件。BFG Repo-Cleaner 将保留您存储库的本地副本作为备份。
首先,将您的 GitHub 存储库和 Spaces 应用程序设置在一起。将您的 Spaces 应用程序添加为现有 Git 存储库的另一个远程。
git remote add space https://huggingface.co/spaces/HF_USERNAME/SPACE_NAME
然后强制推送以首次同步所有内容
git push --force space main
接下来,设置一个 CircleCI 工作流 将您的 main
git 分支推送到 Spaces。
在下面的示例中
- 将
HF_USERNAME
替换为您的用户名,将SPACE_NAME
替换为您的空间名称。 - 在 CircleCI 中创建一个上下文,并在其中添加一个名为 HF_PERSONAL_TOKEN 的环境变量(您可以给它任何名称,使用您创建的键代替 HF_PERSONAL_TOKEN),并将值设置为您的 Hugging Face API 令牌。您可以在 您的 Hugging Face 个人资料 上的 **API 令牌** 下找到您的 Hugging Face API 令牌。
version: 2.1
workflows:
main:
jobs:
- sync-to-huggingface:
context:
- HuggingFace
filters:
branches:
only:
- main
jobs:
sync-to-huggingface:
docker:
- image: alpine
resource_class: small
steps:
- run:
name: install git
command: apk update && apk add openssh-client git
- checkout
- run:
name: push to Huggingface hub
command: |
git config user.email "<your-email@here>"
git config user.name "<your-identifier>"
git push -f https://HF_USERNAME:${HF_PERSONAL_TOKEN}@huggingface.co/spaces/HF_USERNAME/SPACE_NAME main