> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comfy.org/llms.txt
> Use this file to discover all available pages before exploring further.

# 노드 게시하기

## 레지스트리 계정 설정하기

아래 단계에 따라 레지스트리 계정을 설정하고 첫 번째 노드를 게시하세요.

### 튜토리얼 보기

<iframe height="415" src="https://www.youtube.com/embed/WhOZZOgBggU?si=6TyvhJJadmQ65uXC" title="YouTube 동영상 플레이어" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen style={{ width: "100%", borderRadius: "0.5rem" }} />

### 퍼블리셔 생성하기

퍼블리셔는 사용자 정의 노드를 레지스트리에 게시할 수 있는 신원입니다. 모든 사용자 정의 노드에는 pyproject.toml [파일]()에 퍼블리셔 식별자가 포함되어야 합니다.

[Comfy 레지스트리](https://registry.comfy.org)로 이동하여 퍼블리셔 계정을 생성하세요. 귀하의 퍼블리셔 ID는 전 세계적으로 고유하며, 이후 변경할 수 없습니다. 이는 사용자 정의 노드의 URL에 사용되기 때문입니다.

귀하의 퍼블리셔 ID는 프로필 페이지에서 `@` 기호 뒤에 있습니다.

<img className="block" src="https://mintcdn.com/dripart/NmGUk_QSXQXRVtZP/images/publisherid.png?fit=max&auto=format&n=NmGUk_QSXQXRVtZP&q=85&s=95e3271276938f1ec1226f172ffc020f" alt="Hero Dark" width="534" height="342" data-path="images/publisherid.png" />

### 레지스트리 게시용 API 키 생성하기

<Note>
  **중요:** 이 API 키는 **사용자 정의 노드를 레지스트리 및 ComfyUI-Manager에 게시하는 데만 사용됩니다**. 유료 파트너 노드를 워크플로우에 사용하려면 [파트너 노드 개요](/ko/tutorials/partner-nodes/overview)를 참조하세요.
</Note>

[여기](https://registry.comfy.org/nodes)로 이동하여 API 키를 생성하려는 퍼블리셔를 클릭하세요. 이 키는 CLI 또는 GitHub Actions를 통해 레지스트리(ComfyUI-Manager를 구동함)에 사용자 정의 노드를 게시하는 데 사용됩니다.

<img src="https://mintcdn.com/dripart/NmGUk_QSXQXRVtZP/images/pat-1.png?fit=max&auto=format&n=NmGUk_QSXQXRVtZP&q=85&s=6f9c94583f78457419cfde793f49f387" alt="특정 퍼블리셔용 키 생성" width="295" height="159" data-path="images/pat-1.png" />

API 키에 이름을 지정하고 안전한 곳에 저장하세요. 분실하면 새 키를 생성해야 합니다.

<img src="https://mintcdn.com/dripart/NmGUk_QSXQXRVtZP/images/pat-2.png?fit=max&auto=format&n=NmGUk_QSXQXRVtZP&q=85&s=490347389e83b978f4c65b0e6a7b5d33" alt="API 키 생성" width="526" height="474" data-path="images/pat-2.png" />

### 메타데이터 추가하기

<Tip>comfy-cli를 설치하셨나요? [먼저 설치하세요](/ko/comfy-cli/getting-started).</Tip>

```bash theme={null}
comfy node init
```

이 명령은 다음과 같은 메타데이터를 생성합니다:

```toml theme={null}
# pyproject.toml
[project]
name = "" # 노드의 고유 식별자. 생성 후 변경 불가.
description = ""
version = "1.0.0" # 사용자 정의 노드 버전. 반드시 세미콜론 방식으로 버전화해야 합니다.
license = { file = "LICENSE.txt" }
dependencies  = [] # requirements.txt에서 채워짐

[project.urls]
Repository = "https://github.com/..."

[tool.comfy]
PublisherId = "" # TODO (Comfy 레지스트리 웹사이트에서 퍼블리셔 ID 입력).
DisplayName = "" # 사용자 정의 노드의 표시 이름. 나중에 변경 가능.
Icon = "https://example.com/icon.png" # SVG, PNG, JPG 또는 GIF (최대 800x400px)
```

이 파일을 리포지토리에 추가하세요. 더 자세한 정보는 [규격](/ko/registry/specifications)을 확인하세요.

### .comfyignore로 파일 제외하기

기본적으로 `comfy node publish`는 git이 추적하는 모든 파일을 패키징합니다. 개발 전용 파일들(테스트, 디자인 자산, 대용량 샘플)을 게시된 아카이브에서 제외하려면 리포지토리 루트에 `.comfyignore` 파일을 추가하세요. 문법은 [`.gitignore`](https://git-scm.com/docs/gitignore)와 일치합니다:

```gitignore theme={null}
# 개발 전용 자산
docs/
tests/
*.psd
.vscode/
```

<Note>
  * `.comfyignore`는 `.gitignore` 위에 적용됩니다—git이 추적하지 않는 파일은 이미 제외되어 있습니다. `.comfyignore`를 사용해 git에 유지되지만 레지스트리 아카이브에는 포함되지 않기를 원하는 파일을 제외하세요.
  * [`[tool.comfy].includes`](/registry/specifications)에 나열된 디렉터리는 `.comfyignore` 패턴과 일치하더라도 강제로 포함됩니다(빌드된 `dist/` 폴더가 git에서 무시되지만 배송해야 할 때 유용함).
  * `.comfyignore`를 리포지토리에 커밋하여 로컬 실행과 CI가 동일한 아카이브를 생성하도록 하세요.
</Note>

## 레지스트리에 게시하기

### 옵션 1: Comfy CLI

아래 명령을 실행하여 노드를 수동으로 레지스트리에 게시하세요.

```bash theme={null}
comfy node publish
```

API 키를 입력하라는 메시지가 표시됩니다.

```bash theme={null}
API Key for publisher '<퍼블리셔 ID>': ****************************************************

...버전 1.0.0 게시됨. 여기서 확인하세요: https://registry.comfy.org/퍼블리셔ID/your-node
```

<Warning>
  API 키는 기본적으로 숨겨져 있음을 기억하세요.
</Warning>

<Warning>
  복사해서 붙여넣을 때, CTRL+V를 사용하면 API 키 뒤에 \x16이 추가될 수 있습니다(윈도우용). 예: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\x16.

  권장 방법은 마우스 오른쪽 버튼을 클릭하여 API 키를 복사하는 것입니다.
</Warning>

### 옵션 2: GitHub Actions

GitHub Actions를 통해 노드를 자동으로 게시하세요.

<Steps>
  <Step title="GitHub 시크릿 설정하기">
    설정 -> 비밀 및 변수 -> 작업 -> 비밀 탭 및 리포지토리 비밀 -> 새 리포지토리 비밀을 선택하세요.

    `REGISTRY_ACCESS_TOKEN`이라는 이름의 비밀을 생성하고 값을 API 키로 저장하세요.
  </Step>

  <Step title="GitHub Action 생성하기">
    아래 코드를 복사하여 `.github/workflows/publish_action.yml`에 붙여넣으세요.

    ```bash theme={null}
    name: Comfy 레지스트리에 게시
    on:
      workflow_dispatch:
      push:
        branches:
          - main
        paths:
          - "pyproject.toml"

    jobs:
      publish-node:
        name: 사용자 정의 노드를 레지스트리에 게시
        runs-on: ubuntu-latest
        steps:
          - name: 코드 체크아웃
            uses: actions/checkout@v4
          - name: 사용자 정의 노드 게시
            uses: Comfy-Org/publish-node-action@main
            with:
              personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }} ## 자신의 개인 액세스 토큰을 GitHub 리포지토리 비밀에 추가하고 여기서 참조하세요.
    ```

    <Warning>작업 중인 브랜치 이름이 `main`이 아닌 경우, 예를 들어 `master`라면 branches 섹션에 해당 이름을 추가하세요.</Warning>
  </Step>

  <Step title="GitHub Action 테스트하기">
    `pyproject.toml`의 버전 번호를 업데이트하여 푸시하세요. 레지스트리에 업데이트된 노드가 표시되는 것을 확인하실 수 있습니다.

    <Tip>GitHub Action은 `pyproject.toml` 파일을 업데이트할 때마다 자동으로 실행됩니다</Tip>
  </Step>
</Steps>
