Hub documentation

Gérer les Spaces avec des workflows CircleCI

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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_USERNAME par votre nom d'utilisateur et SPACE_NAME par 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
Update on GitHub