Hub documentation

Gerenciando Spaces com Workflows do CircleCI

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Gerenciando Spaces com Workflows do CircleCI

Você pode manter seu aplicativo sincronizado com seu repositório no GitHub usando um workflow do CircleCI.

CircleCI é uma plataforma de integração e entrega contínuas (CI/CD) que ajuda a automatizar o processo de desenvolvimento de software. Um CircleCI workflow é um conjunto de tarefas automatizadas definidas em um arquivo de configuração, orquestradas pelo CircleCI, para simplificar o processo de compilação, teste e implantação de aplicações de software.

Nota: Arquivos maiores que 10MB devem ser rastreados com git-xet (recomendado) ou Git LFS. Se você não quiser usar nenhum dos dois, pode ser necessário revisar seus arquivos e verificar seu histórico. Use uma ferramenta como BFG Repo-Cleaner para remover quaisquer arquivos grandes do seu histórico. O BFG Repo-Cleaner manterá uma cópia local do seu repositório como backup.

Primeiro, configure seu repositório do GitHub e seu aplicativo Spaces juntos. Adicione seu aplicativo Spaces como um remote adicional ao seu repositório Git existente.

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

Em seguida, force push para sincronizar tudo pela primeira vez:

git push --force space main

Em seguida, configure um workflow do CircleCI para enviar sua branch git main para o Spaces.

No exemplo abaixo:

  • Substitua HF_USERNAME pelo seu nome de usuário e SPACE_NAME pelo nome do seu Space.
  • Crie um contexto no CircleCI e adicione uma variável de ambiente chamada HF_PERSONAL_TOKEN (você pode usar qualquer nome, utilize a chave que você criar no lugar de HF_PERSONAL_TOKEN) com o valor do seu token de API do Hugging Face. Você pode encontrar seu token de API do Hugging Face em API Tokens no seu perfil do 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