Hub documentation

Mengelola Spaces dengan CircleCI Workflows

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Mengelola Spaces dengan CircleCI Workflows

Anda dapat menjaga sinkronisasi aplikasi Anda dengan repositori GitHub menggunakan CircleCI workflow.

CircleCI adalah platform continuous integration dan continuous delivery (CI/CD) yang membantu mengotomatiskan proses pengembangan perangkat lunak. CircleCI workflow adalah serangkaian tugas otomatis yang didefinisikan dalam file konfigurasi dan diorkestrasi oleh CircleCI untuk menyederhanakan proses membangun, menguji, dan menerapkan aplikasi perangkat lunak.

Catatan: File yang ukurannya lebih dari 10MB harus dilacak dengan git-xet (disarankan) atau Git LFS. Jika Anda tidak ingin menggunakan salah satunya, Anda mungkin perlu meninjau file Anda dan memeriksa riwayat Anda. Gunakan alat seperti BFG Repo-Cleaner untuk menghapus file besar apa pun dari riwayat Anda. BFG Repo-Cleaner akan menyimpan salinan lokal repositori Anda sebagai cadangan.

Pertama, atur repositori GitHub dan aplikasi Spaces Anda secara bersamaan. Tambahkan aplikasi Spaces Anda sebagai remote tambahan ke repositori Git yang sudah ada.

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

Lalu paksa push untuk menyinkronkan semuanya untuk pertama kali:

git push --force space main

Selanjutnya, atur workflow CircleCI untuk mendorong cabang git main Anda ke Spaces.

Pada contoh di bawah ini:

  • Ganti HF_USERNAME dengan nama pengguna Anda dan SPACE_NAME dengan nama Space Anda.
  • Buat context di CircleCI dan tambahkan variabel env bernama HF_PERSONAL_TOKEN (Anda dapat memberinya nama apa pun, gunakan kunci yang Anda buat sebagai pengganti HF_PERSONAL_TOKEN) dengan nilai berupa token API Hugging Face Anda. Anda dapat menemukan token API Hugging Face Anda di bawah API Tokens pada profil Hugging Face Anda.
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