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 workflow는 소프트웨어 애플리케이션의 빌드, 테스트 및 배포 프로세스를 간소화하기 위해 CircleCI에 의해 오케스트레이션되는 설정 파일에 정의된 자동화 작업 세트입니다.

참고: 10MB를 초과하는 파일은 git-xet(권장) 또는 Git LFS로 추적해야 합니다. 둘 다 사용하지 않으려면 파일을 검토하고 히스토리를 확인해야 할 수 있습니다. BFG Repo-Cleaner와 같은 도구를 사용하여 히스토리에서 큰 파일을 제거하세요. BFG Repo-Cleaner는 저장소의 로컬 복사본을 백업으로 유지합니다.

먼저 GitHub 저장소와 Spaces 앱을 함께 설정합니다. 기존 Git 저장소에 Spaces 앱을 추가 리모트(remote)로 추가합니다.

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

그런 다음 처음에는 모든 것을 동기화하기 위해 강제 푸시(force push)를 수행합니다:

git push --force space main

다음으로, main git 브랜치를 Spaces에 push하기 위한 CircleCI 워크플로를 설정합니다.

아래 예시에서:

  • 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