Hub documentation
Gérer les Spaces avec des workflows CircleCI
Gérer les Spaces avec des workflows CircleCI
Vous pouvez synchroniser votre application avec votre dépôt GitHub à l'aide d'un workflow CircleCI.
CircleCI est une plateforme d'intégration continue et de livraison continue (CI/CD) qui aide à automatiser le processus de développement logiciel. Un workflow CircleCI est un ensemble de tâches automatisées définies dans un fichier de configuration, orchestrées par CircleCI, afin de rationaliser le processus de construction, de test et de déploiement des applications logicielles.
Remarque : les fichiers de plus de 10 Mo doivent être suivis avec git-xet (recommandé) ou Git LFS. Si vous ne souhaitez utiliser ni l'un ni l'autre, vous devrez peut-être examiner vos fichiers et vérifier votre historique. Utilisez un outil comme BFG Repo-Cleaner pour supprimer les fichiers volumineux de votre historique. BFG Repo-Cleaner conserve une copie locale de votre dépôt en guise de sauvegarde.
Premièrement, configurez votre dépôt GitHub et votre application Spaces ensemble. Ajoutez votre application Spaces en tant que distant supplémentaire à votre dépôt Git existant.
git remote add space https://huggingface.co/spaces/HF_USERNAME/SPACE_NAME
Puis forcez le push pour synchroniser tout pour la première fois :
git push --force space main
Ensuite, configurez un workflow CircleCI pour pousser votre branche git main vers Spaces.
Dans l'exemple ci-dessous :
- Remplacez
HF_USERNAMEpar votre nom d'utilisateur etSPACE_NAMEpar le nom de votre Space. - Créez un contexte dans CircleCI et ajoutez-y une variable d’environnement nommée HF_PERSONAL_TOKEN (vous pouvez lui donner n’importe quel nom, utilisez la clé que vous avez créée à la place de HF_PERSONAL_TOKEN) avec comme valeur votre jeton API Hugging Face. Vous pouvez trouver votre jeton API Hugging Face sous API Tokens sur votre profil 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