Hub 文档

使用 CircleCI 工作流管理 Spaces

Hugging Face's logo
加入 Hugging Face 社区

并获取增强的文档体验

开始使用

使用 CircleCI 工作流管理 Spaces

您可以使用 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 替换为您的 Space 名称。
  • 在 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
< > 在 GitHub 上更新