커뮤니티 입장하기

배포 (Deployment)

배포는 만든 프로그램을 사용할 환경에 설치하거나 반영하는 과정입니다. 웹에서는 서버나 호스팅에 올려 접속하게 하며 공개 범위와 운영 여부는 별도로 설정합니다.

같은 말:디플로이Deployment호스팅Hosting배포하기

아직 읽은 기록이 많지 않은 개념이에요
Share
목차
  1. 🤔 localhost 주소를 보냈는데 열리지 않을 때
  2. 🏠 개발과 미리보기 및 운영
  3. 🚀 어디에 배포할지 정하기
  4. 📝 자동 배포가 시작되는 조건
  5. 🌐 도메인과 HTTPS
  6. 🔒 환경 변수와 데이터베이스
  7. 🧯 배포 실패와 기능 오류 구분하기
  8. 📝 가상 배포 기록에서 다음 행동 찾기
  9. 📋 3줄 요약
  10. 📚 참고 자료

🤔 localhost 주소를 보냈는데 열리지 않을 때

내 컴퓨터에서 localhost:3000으로 열리는 앱 주소를 친구에게 보냈다고 해 봅니다. 친구의 브라우저에서 localhost는 친구 자신의 컴퓨터를 가리킵니다. 여러분의 앱으로 연결되는 주소가 아닙니다.

다른 사람이 이용하게 하려면 접근 가능한 환경과 주소를 마련해야 합니다. 배포(Deployment)는 프로그램을 사용할 환경에 설치하거나 반영하는 과정입니다. 인터넷 공개 사이트뿐 아니라 접근이 제한된 사내 환경이나 시험 환경에도 배포할 수 있습니다.

🏠 개발과 미리보기 및 운영

환경주된 목적확인할 점
개발내 컴퓨터에서 코드를 고치고 확인실행 위치와 개발 데이터
미리보기 또는 시험변경을 적용해 검토접근 권한과 시험용 데이터
운영실제 이용자에게 서비스 제공승인한 버전과 실제 기능 및 운영 데이터

호스팅은 앱이나 파일을 제공할 서버 환경을 운영하는 일입니다. 빌드는 소스 코드를 배포 가능한 결과물로 만드는 과정입니다. 빌드 성공은 화면과 기능이 모두 올바르다는 뜻은 아닙니다. 호스팅에 올렸다고 장애 없이 24시간 작동하는 것이 보장되지도 않습니다.

🚀 어디에 배포할지 정하기

Vercel이나 Netlify 같은 서비스는 Git 저장소와 연결해 웹 프로젝트를 배포하는 기능을 제공합니다. 정적 파일만 제공하는지, 서버 코드와 데이터베이스가 필요한지에 따라 요구 환경이 다릅니다. 기존 프로젝트가 사용하는 서비스와 실행 조건을 먼저 확인합니다.

무료라고 표시돼 있어도 허용 용도, 사용량과 초과 비용은 따로 확인합니다. 이 수업의 첫 연습에는 가입이나 결제가 필요하지 않습니다. 실제 배포를 선택할 때 해당 서비스의 현재 요금과 제한을 확인합니다.

📝 자동 배포가 시작되는 조건

Git 저장소 연동이 설정된 경우 지정 브랜치의 변경을 감지해 배포가 시작될 수 있습니다. 푸시는 로컬 커밋을 원격 저장소에 보내는 동작이며 자동 배포 설정이 없으면 푸시만으로 사이트가 갱신되지는 않습니다.

변경 확인 → 원격 저장소의 대상 브랜치로 전송 → 빌드 → 미리보기 확인 → 운영 반영 및 확인

이것은 이해를 돕기 위한 흐름입니다. 실제 프로젝트에서 어떤 단계가 자동인지, 어떤 브랜치가 운영 주소를 바꾸는지 확인합니다. CI는 변경을 통합하며 자동 검사하는 과정이고 CD는 배포 준비나 반영을 자동화하는 과정입니다. 자동 배포 하나만으로 테스트까지 갖췄다고 판단하지 않습니다.

Vercel의 Preview(미리보기)와 Production(운영)은 환경과 변수 설정이 구분됩니다. 새 프로젝트의 첫 배포처럼 예외가 있으므로 브랜치 이름만 믿지 말고 실제 표시된 대상 환경을 확인합니다. 미리보기라는 이름도 접근 제한을 보장하지는 않습니다.

변경을 보낸 뒤 배포 상태와 실제 서비스 결과를 확인합니다. 접근 범위는 별도 설정입니다.

🌐 도메인과 HTTPS

호스팅이 제공한 주소를 쓰거나 별도 도메인을 연결할 수 있습니다. 도메인은 사람이 기억하기 쉬운 주소이고 DNS는 그 주소가 서비스로 연결되도록 설정하는 체계입니다. 처음부터 도메인을 구매할 필요는 없습니다.

연결할 때는 서비스가 안내한 DNS 레코드를 정확히 확인합니다. 기존 업무용 주소를 잘못 바꾸면 다른 서비스가 끊길 수 있습니다. 연결 뒤 실제 주소와 통신을 암호화하는 HTTPS의 적용 및 접근 권한을 확인합니다. 자세한 개념은 도메인 수업에서 이어집니다.

🔒 환경 변수와 데이터베이스

내 컴퓨터의 .env 파일이 배포 환경에 자동 전달된다고 가정하지 않습니다. 해당 환경에서 필요한 설정을 등록하고 적용 시점을 확인합니다. 운영 데이터베이스 연결값을 시험 환경에 그대로 복사하면 시험 입력이 실제 자료를 바꿀 수 있습니다.

서버에서 localhost는 그 서버 자신을 뜻합니다. 개발 컴퓨터의 데이터베이스에 자동으로 연결되는 주소가 아닙니다. 배포 환경에서 접근 가능한 시험용 또는 운영용 데이터베이스인지와 연결 권한을 확인합니다.

🧯 배포 실패와 기능 오류 구분하기

빌드가 실패했는지, 배포는 됐지만 기능이 실패했는지 먼저 구분합니다. 프로젝트에 build 명령이 있다면 정해진 방식으로 로컬 빌드를 확인할 수 있습니다. 다만 로컬 성공이 배포 서버의 환경 차이까지 없애지는 않습니다.

오류가 나면 배포 버전과 환경, 실패 시각과 로그를 확인합니다. 로그에 비밀 키나 개인정보가 있다면 가리고 전달합니다. 환경 변수 누락 외에도 의존성, 실행 버전, 네트워크와 데이터 접근 권한 등이 원인일 수 있습니다.

운영 문제가 생겨 이전 코드로 되돌리더라도 이미 보낸 알림이나 바뀐 데이터베이스까지 자동 복구되지는 않습니다. 영향 범위와 복구할 대상을 나눠 확인합니다. 첫 배포에서는 가상 자료로 입력과 저장, 다시 조회하기까지 확인합니다.

📝 가상 배포 기록에서 다음 행동 찾기

메모장에 아래 기록을 옮깁니다. 실제 프로젝트를 외부에 올리는 연습은 아닙니다.

목표: 시험용 모임 메모를 두 사람만 검토 배포 기록: Preview, 버전 A, 빌드 성공 확인 결과: 링크를 아는 누구나 접속, 저장 요청은 API_KEY 누락으로 실패

빌드 성공만 보고 완료라고 할 수 없습니다. 목표에 맞는 접근 제한을 설정하고 시험 환경에 필요한 설정을 확인한 뒤 저장과 재조회까지 다시 확인해야 합니다. 실제 비밀 값은 점검 메모에 적지 않습니다.

이번에는 “버전 B, 두 검토자만 접속 가능, 가상 메모 저장 후 다시 조회 성공”으로 바꿉니다. 이 범위에서는 미리보기 확인을 마친 것이며 운영 반영은 별도입니다. 목표와 실제 결과를 대조해 남은 일을 설명하면 첫 연습을 마친 것입니다.

📋 3줄 요약

  1. 배포는 사용할 환경에 프로그램을 반영하는 일이며 공개 범위와 운영 여부는 따로 확인합니다.

  2. localhost는 접속하는 기기 자신을 뜻하므로 그 주소를 보내도 다른 사람의 앱에 연결되지 않습니다.

  3. 대상 환경과 버전을 확인하고 빌드 성공 뒤에도 접근 권한과 실제 기능 및 저장 결과를 점검합니다.

📚 참고 자료

공식 문서 확인: 2026년 10월 3일.

Share

제대로 이해했는지 한 문제로 확인해 볼까요?

답을 고르면 바로 풀이가 나와요.

로컬에서는 되던 기능이 Vercel 미리보기에서 실패하고 로그에 API_KEY가 없다고 나옵니다. 먼저 무엇을 확인하나요?

예제나 확인 질문을 직접 시도한 뒤 완료 표시해요. 더 연습할 내용이 남으면 표시하지 않고 다음 글을 읽어도 됩니다. 완료 버튼은 이해도를 채점하지 않으며 잘못 표시하면 취소할 수 있어요.

10개념 / 클래스디버깅 (Debugging)