Hub documentation

CircleCIワークフローによるSpacesの管理

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

CircleCIワークフローによるSpacesの管理

CircleCI ワークフローを使用することで、アプリを GitHub リポジトリと同期した状態に保つことができます。

CircleCIは、ソフトウェア開発プロセスの自動化を支援する継続的インテグレーションおよび継続的デリバリー(CI/CD)プラットフォームです。CircleCI ワークフローとは、CircleCIによってオーケストレーションされ、ソフトウェアアプリケーションのビルド、テスト、デプロイのプロセスを円滑にするために設定ファイルで定義された自動化タスクのセットです。

注: 10MBを超えるファイルは、git-xet(推奨)またはGit LFSでトラッキングする必要があります。どちらも使用したくない場合は、ファイルを確認し、履歴をチェックする必要があります。BFG Repo-Cleanerのようなツールを使用して、履歴から大きなファイルを削除してください。BFG Repo-Cleanerは、リポジトリのローカルコピーをバックアップとして保持します。

まず、GitHub リポジトリと Spaces アプリをセットアップします。既存の Git リポジトリに、Spaces アプリを追加のリモートとして追加してください。

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

次に、初回にすべてを同期するために強制プッシュを実行します:

git push --force space main

次に、CircleCI ワークフローを設定して、main git ブランチを Spaces にプッシュします。

以下の例では:

  • HF_USERNAME をユーザー名に、SPACE_NAME を Space の名前に置き換えてください。
  • CircleCIでコンテキストを作成し、HF_PERSONAL_TOKEN という名前の環境変数(任意の名前を付けても構いません。HF_PERSONAL_TOKEN の代わりに作成したキーを使用してください)を追加し、その値として Hugging Face API トークンを設定します。Hugging Face API トークンは、Hugging Face プロフィールの API Tokens で確認できます。
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