Develop

Vercel 배포 완벽 가이드 — Next.js 프로젝트를 자동 배포하는 방법

Next.js 애플리케이션 빌드 배포 자동화를 수 시간 동안 머리 싸매지 않고 Vercel 클라우드를 연동하여 5분 만에 완성하는 실무 팁과, 협업 생산성을 가속화하는 프리뷰 배포 및 환경변수 주입법을 제공합니다.

VercelNext.js배포CI/CDdevtools
Vercel 대시보드에서 Next.js 프로젝트 배포 현황을 보여주는 화면 — 자동 배포 설정 예시
  • ·Vercel은 Next.js를 만든 Vercel사가 운영하는 플랫폼으로 Next.js 최적화가 기본 내장되어 있다
  • ·GitHub 저장소를 연결하면 main 브랜치 푸시 시 자동 배포, PR 생성 시 프리뷰 배포가 동작한다
  • ·Vercel Edge Network는 전 세계 CDN 엣지에서 정적 파일을 서빙해 글로벌 응답 속도를 최적화한다
  • ·환경변수는 Vercel 대시보드에서 Production, Preview, Development 환경별로 다르게 설정할 수 있다
사내 젠킨스(Jenkins) 배포 서버 인프라를 한 땀 한 땀 패치해 가며 Next.js 프로젝트를 리눅스 웹 폴더로 밀어 넣던 수동 빌드 시절에는, 컴파일 메모리 오버플로우나 인증 키 유실 에러로 일주일에 한두 번씩 골치를 썩였습니다. Next.js 제작사인 Vercel 플랫폼으로 이전한 후에는 깃허브 저장소를 클릭 연동하는 것만으로 모든 파이프라인 관리 고통이 거짓말처럼 사라졌습니다. 특히 풀 리퀘스트(PR)를 생성할 때마다 깃허브 코멘트로 2초 만에 개설되어 박히는 라이브 프리뷰(Preview) URL은, 다른 팀원이나 기획자에게 '코드 내려받지 않고 웹창으로 변경점 바로 확인하세요' 라고 공유할 수 있어 협업 능력을 혁신적으로 끌어올려 주었습니다.

1. 깃 기반 자동 배포망 개통

GitHub 저장소와 연동해 Next.js 프로젝트 Vercel 자동 배포하기

서버 컴퓨터를 임대해 OS를 세팅하고, 빌더 툴을 깔고 배포 쉘 스크립트를 수백 줄 코딩하는 번거로운 과정 없이, Vercel 계정에서 GitHub 계정 연동 버튼을 탭하는 것으로 모든 CI/CD 파이프라인 구축이 완료됩니다. Vercel 엔진은 Next.js의 고유 렌더링 규격을 네이티브로 파악하고 있기 때문에 별도의 빌드 폴더 링킹 설정을 지정하지 않아도 자동으로 소스 빌드 최적화 단계를 가동시킵니다. 연동 마감 후에는 main 브랜치에 코드 푸시 머지 신호가 꽂히자마자 Vercel 클라우드 러너들이 눈을 뜨고 20초 만에 상용 배포 패키지 생성을 완수해 냅니다.

실수를 방지하는 Vercel 환경변수 및 Next.js 타겟 빌드 격리 기법

API 엔드포인트 도메인이나 암호화 토큰 등의 민감한 환경변수들을 로컬 .env.local 에 기입해 쓰던 것처럼 Vercel 대시보드 내의 Environment Variables 탭에 안전하게 주입 등록합니다. Vercel이 지원하는 막강한 강점은 이 환경변수를 Production(실 서비스), Preview(테스트용), Development(개발용) 3단 환경별로 다르게 지정해 분기 격리할 수 있다는 점입니다. 실수로 테스트 더미 정보가 상용 운영 데이터베이스를 찔러 오염시키는 실무 휴먼 에러를 미연에 원천 봉쇄해 줍니다.

2. 프리뷰 환경과 도메인 튜닝

코드 리뷰 효율을 올리는 Vercel 프리뷰 배포 및 PR 검증 전략

동료 개발자가 변경한 뷰 페이지 디자인 레이아웃이나 버그 수정 상태를 로컬 단말기에 브랜치를 당겨 와 로컬 서버를 띄워가며 수동 확인하는 것은 극도로 귀찮은 가동 낭비입니다. Vercel 프리뷰 배포(Preview Deployment)는 새로운 브랜치 푸시나 PR이 꽂히는 순간, 그 상태 그대로 격리된 고유 라이브 테스트 URL 도메인을 독립 생성해 줍니다. 깃허브 PR 창 하단에 봇이 자동으로 해당 링크를 친절히 코멘트로 첨부해 주므로, 기획자나 디자이너 등 코딩 환경이 없는 협업 담당자도 URL 링크 터치 한 번으로 모바일 기기 등에서 실시간 렌더링 상태를 엄격히 감정할 수 있어 릴리즈 속도가 대단히 기민해집니다.

커스텀 도메인 바인딩과 Vercel CDN을 활용한 배포 속도 개선

기본 제공되는 vercel.app 도메인을 넘어, 회사 전용 브랜딩 도메인을 연결하는 과정도 대단히 미려하게 압축되어 있습니다. Settings Domains 메뉴에 도메인 주소를 기입하면 젠킨스처럼 번잡하게 프록시를 셋업하지 않아도, DNS 레코드 CNAME 가이드 정보만 브라우저가 화면에 알려줍니다. 가이드대로 도메인 구매 사이트 설정창에 CNAME 값(cname.vercel-dns.com)을 기재해 두면, Vercel이 자동으로 SSL 보안 웹 인증서(HTTPS)를 알아서 발급 및 영구 갱신 처리해 주며 글로벌 CDN 엣지 네트워크망을 통해 전 세계 웹 유저에게 정적 파일을 빛의 속도로 서빙해 줍니다.

// vercel.json - 리다이렉트 및 특수 라우팅 플랫폼 설정 예시
{
  "cleanUrls": true,
  "redirects": [
    {
      "source": "/old-path-blog",
      "destination": "/blog",
      "permanent": true
    }
  ],
  "headers": [
    {
      "source": "/(.*)",
      "headers": [
        {
          "key": "X-Content-Type-Options",
          "value": "nosniff"
        }
      ]
    }
  ]
}

자주 묻는 질문

무료 개인 Hobby 플랜을 이용해 상용 스타트업 상업적 기업 서비스를 돌려도 되나요?+

Vercel의 서비스 약관(TOS)상 무료 Hobby 플랜은 개인적 프로젝트 용도로만 제약되어 있으며 상업적 이윤이 발생하는 비즈니스 서비스에 사용 시 계정 차단 제재를 당할 수 있습니다. 상용 성격의 서비스 배포를 위해서는 반드시 Pro 플랜 라이선스를 가입하여 셋업하셔야 합니다.

Vercel 플랫폼을 쓰지 않고 자체 일반 리눅스 가상 서버(Ubuntu 등)에 직접 Next.js를 배포하려면 어찌 하나요?+

`next.config.ts` 파일 내에 `output: 'standalone'` 옵션을 심고 빌드를 돌려 뽑아낸 `.next/standalone` 결과물과 스태틱 폴더들을 SFTP 등으로 내 서버로 업로드한 뒤, PM2 데몬 헬퍼 프로세스 관리자를 태워 `node server.js` 구문으로 구동시키는 방식으로 자체 Nginx 웹서버 뒤편에 바인딩하여 수동 배포하실 수 있습니다.

관련 글