Hub documentation
Quản lý Spaces bằng các luồng CircleCI
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_USERNAMEbằng tên người dùng của bạn vàSPACE_NAMEbằ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