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

# 앱 게시하기

> 공유할 수 있는 공개 URL로 앱을 게시하세요 — 네 번의 클릭으로 완료됩니다.

export const YouTubeEmbed = ({videoId, title = "YouTube video", startAt}) => {
  if (!videoId) {
    return null;
  }
  let url = "https://www.youtube.com/embed/" + videoId;
  if (startAt) {
    url = url + "?start=" + startAt;
  }
  return <Frame>
      <iframe src={url} title={title} allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen></iframe>
    </Frame>;
};

<YouTubeEmbed videoId="ski8_MUYO4M" title="Replit에서 앱 게시하기" />

공유 가능한 공개 URL로 Replit 앱을 게시하세요. **Publish** 버튼을 사용하면 네 번의 클릭으로 완료됩니다.

## 앱 게시하기

<Steps>
  <Step title="프로젝트 편집기에서 Publish 클릭하기">
    프로젝트를 엽니다. 프로젝트 편집기 오른쪽 상단에서 **Publish**를 선택합니다.

    <Note>
      게시는 모든 플랜에서 사용 가능합니다. 무료 Starter 플랜에는 게시된 앱 1개가 포함됩니다. Replit Core 및 Pro는 해당 제한을 없애고 더 많은 게시 옵션을 추가합니다.
    </Note>

    <Frame>
      <img src="https://mintcdn.com/replit/DJAysPyGu4yUsaj3/images/publish-quickstart/01-publish-button.png?fit=max&auto=format&n=DJAysPyGu4yUsaj3&q=85&s=ef50e4f6387bf64bdc6603209c1f399b" alt="오른쪽 상단에 Publish 버튼이 강조 표시된 Replit 프로젝트 편집기 상단 바" width="2000" height="1074" data-path="images/publish-quickstart/01-publish-button.png" />
    </Frame>
  </Step>

  <Step title="게시 대화 상자에서 앱 구성하기">
    게시 대화 상자가 열립니다. **Domain**을 선택합니다 — 자동으로 채워지지만 변경할 수 있습니다. 앱에 접근할 수 있는 사람(**Public**, **Invite only** 등)을 선택하고, 원하는 경우 피드백 위젯을 활성화합니다. 그런 다음 **Publish**를 선택합니다.

    <Frame>
      <img src="https://mintcdn.com/replit/DJAysPyGu4yUsaj3/images/publish-quickstart/02-publish-dialog.png?fit=max&auto=format&n=DJAysPyGu4yUsaj3&q=85&s=2ae9589ccad9f1a49ade6efa86ff4e6f" alt="velocity-car-rental.replit.app 서브도메인이 있는 Domain 필드, Invite only로 설정된 앱 접근 드롭다운, 피드백 위젯 토글이 있는 Engagement tools 섹션, 오른쪽 하단에 강조 표시된 Publish 버튼을 보여주는 게시 대화 상자" width="914" height="848" data-path="images/publish-quickstart/02-publish-dialog.png" />
    </Frame>
  </Step>

  <Step title="게시 단계 대기하기">
    Replit은 **Provision → Security Scan → Build → Bundle → Promote** 단계를 거칩니다. 이 과정은 보통 1\~2분 정도 소요됩니다.

    <Frame>
      <img src="https://mintcdn.com/replit/DJAysPyGu4yUsaj3/images/publish-quickstart/03-publishing-stages.png?fit=max&auto=format&n=DJAysPyGu4yUsaj3&q=85&s=b7a256d4331a68ba822b7b6d513b762a" alt="Provision과 Security Scan이 완료(녹색 체크 표시), Build도 완료, Bundle이 현재 진행 중(파란색 스피너), Promote가 대기 중인 5단계 진행 표시줄을 보여주는 게시 탭" width="2000" height="1151" data-path="images/publish-quickstart/03-publishing-stages.png" />
    </Frame>
  </Step>

  <Step title="URL에서 게시된 앱 열기">
    앱이 게시되었습니다. 게시 탭에서 `.replit.app` URL을 선택하여 엽니다. 해당 URL을 어디서든 공유하세요 — 링크를 가진 모든 사람(접근 설정에 따라)이 앱을 사용할 수 있습니다.

    <Frame>
      <img src="https://mintcdn.com/replit/DJAysPyGu4yUsaj3/images/publish-quickstart/04-app-published.png?fit=max&auto=format&n=DJAysPyGu4yUsaj3&q=85&s=0b611d7fc9249b433bc28d221350c458" width="2000" height="1159" data-path="images/publish-quickstart/04-app-published.png" />
    </Frame>
  </Step>
</Steps>

## 앱 업데이트하기

변경 사항을 적용하고 **Publish**를 다시 선택하면 앱이 동일한 URL에서 업데이트됩니다. 방문자는 다음 로드 시 최신 버전을 받게 됩니다 — 새 링크를 공유할 필요가 없습니다.

## 다음 단계

<CardGroup cols={2}>
  <Card title="커스텀 도메인 추가하기" icon="globe" href="/build/add-custom-domain">
    `.replit.app` 대신 자신의 도메인을 사용하세요.
  </Card>

  <Card title="배포 유형" icon="server" href="/learn/projects-and-artifacts/replit-deployments">
    Autoscale, Reserved VM, Static, Scheduled 배포를 비교하세요.
  </Card>

  <Card title="게시 문제 해결" icon="triangle-exclamation" href="/build/troubleshooting">
    일반적인 게시 문제와 해결 방법.
  </Card>
</CardGroup>
