Hub documentation

Quản lý Spaces bằng các luồng CircleCI

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Quản lý Spaces bằng các luồng CircleCI

Bạn có thể đồng bộ hóa ứng dụng của mình với kho GitHub bằng một luồng công việc CircleCI.

CircleCI là nền tảng tích hợp liên tục và triển khai liên tục (CI/CD) giúp tự động hóa quy trình phát triển phần mềm. Một CircleCI workflow là tập hợp các tác vụ tự động được định nghĩa trong tệp cấu hình, do CircleCI điều phối, nhằm tối ưu hóa quy trình xây dựng, kiểm thử và triển khai các ứng dụng phần mềm.

Lưu ý: Các tệp lớn hơn 10MB phải được theo dõi bằng git-xet (khuyến nghị) hoặc Git LFS. Nếu bạn không muốn sử dụng bất kỳ phương pháp nào, bạn có thể cần xem xét lại các tệp của mình và kiểm tra lịch sử. Hãy sử dụng một công cụ như BFG Repo-Cleaner để xóa các tệp lớn khỏi lịch sử của bạn. BFG Repo-Cleaner sẽ giữ một bản sao cục bộ của kho lưu trữ của bạn làm bản sao lưu.

Đầu tiên, hãy thiết lập cùng lúc kho GitHub và ứng dụng Spaces của bạn. Thêm ứng dụng Spaces của bạn như một remote bổ sung vào kho Git hiện có của bạn.

git remote add space https://huggingface.co/spaces/HF_USERNAME/SPACE_NAME

Sau đó, thực hiện force push để đồng bộ hóa mọi thứ lần đầu tiên:

git push --force space main

Tiếp theo, hãy thiết lập một luồng công việc CircleCI để đẩy nhánh git main của bạn lên Spaces.

Trong ví dụ dưới đây:

  • Thay HF_USERNAME bằng tên người dùng của bạn và SPACE_NAME bằng tên Space của bạn.
  • Tạo một context trong CircleCI và thêm một biến môi trường vào đó có tên là HF_PERSONAL_TOKEN (bạn có thể đặt bất kỳ tên nào, sử dụng khóa bạn đã tạo thay cho HF_PERSONAL_TOKEN) và giá trị là token API Hugging Face của bạn. Bạn có thể tìm thấy token API Hugging Face của mình tại API Tokens trên trang hồ sơ Hugging Face của bạn.
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
Update on GitHub