Hub documentation
Управление Spaces с помощью рабочих процессов CircleCI
Управление Spaces с помощью рабочих процессов CircleCI
Вы можете синхронизировать ваше приложение с репозиторием GitHub с помощью CircleCI workflow.
CircleCI — это платформа непрерывной интеграции и непрерывной поставки (CI/CD), которая помогает автоматизировать процесс разработки программного обеспечения. Workflow в CircleCI — это набор автоматизированных задач, определённых в файле конфигурации и оркестрируемых CircleCI, для оптимизации процессов сборки, тестирования и развёртывания программных приложений.
Примечание: файлы размером более 10 МБ необходимо отслеживать с помощью git-xet (рекомендуется) или Git LFS. Если вы не хотите использовать ни один из этих инструментов, вам, возможно, потребуется проверить свои файлы и историю. Используйте инструмент, например BFG Repo-Cleaner, чтобы удалить большие файлы из истории. BFG Repo-Cleaner сохранит локальную копию вашего репозитория в качестве резервной.
Сначала настройте ваш репозиторий GitHub и приложение Spaces вместе. Добавьте ваше приложение Spaces как дополнительный удалённый репозиторий (remote) в существующий Git-репозиторий.
git remote add space https://huggingface.co/spaces/HF_USERNAME/SPACE_NAME
Затем выполните принудительную отправку, чтобы синхронизировать всё в первый раз:
git push --force space main
Далее настройте CircleCI workflow для отправки вашей ветки git main в Spaces.
В примере ниже:
- Замените
HF_USERNAMEна ваше имя пользователя, аSPACE_NAME— на имя вашего Space. - Создайте контекст в CircleCI и добавьте в него переменную окружения с именем HF_PERSONAL_TOKEN (имя можно выбрать любое, вместо HF_PERSONAL_TOKEN используйте ключ, который вы создали), а в качестве значения укажите ваш токен API Hugging Face. Токен API Hugging Face можно найти в разделе API Tokens на вашем профиле Hugging Face.
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