Hub documentation

Gestión de Spaces con flujos de trabajo de CircleCI

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Gestión de Spaces con flujos de trabajo de CircleCI

Puedes mantener tu aplicación sincronizada con tu repositorio de GitHub mediante un flujo de trabajo de CircleCI.

CircleCI es una plataforma de integración continua y entrega continua (CI/CD) que ayuda a automatizar el proceso de desarrollo de software. Un CircleCI workflow es un conjunto de tareas automatizadas definidas en un archivo de configuración, orquestadas por CircleCI, para agilizar el proceso de compilación, prueba y despliegue de aplicaciones de software.

Nota: Los archivos de más de 10MB deben rastrearse con git-xet (recomendado) o Git LFS. Si no deseas usar ninguno de los dos, es posible que necesites revisar tus archivos y comprobar tu historial. Utiliza una herramienta como BFG Repo-Cleaner para eliminar cualquier archivo grande de tu historial. BFG Repo-Cleaner conservará una copia local de tu repositorio como copia de seguridad.

Primero, configura tu repositorio de GitHub y tu aplicación de Spaces juntos. Añade tu aplicación de Spaces como un remote adicional a tu repositorio Git existente.

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

Luego, realiza un force push para sincronizar todo por primera vez:

git push --force space main

A continuación, configure un flujo de trabajo de CircleCI para enviar su rama git main a Spaces.

En el siguiente ejemplo:

  • Reemplaza HF_USERNAME con tu nombre de usuario y SPACE_NAME con el nombre de tu Space.
  • Crea un contexto en CircleCI y añade una variable de entorno llamada HF_PERSONAL_TOKEN (puedes usar cualquier nombre, utiliza la clave que crees en lugar de HF_PERSONAL_TOKEN) con el valor de tu token de API de Hugging Face. Puedes encontrar tu token de API de Hugging Face en API Tokens en tu perfil de 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