Git 저장소 배포
GitHub 저장소를 연결해 콘솔에서 배포하거나, 푸시할 때마다 자동으로 배포합니다.
GitHub 저장소를 앱에 연결하면 터미널 없이 콘솔에서 배포할 수 있고, GitHub App을 설치하면 브랜치에 푸시할 때마다 자동으로 배포됩니다.
| 연결 방식 | 공개 저장소 | 비공개 저장소 | 푸시 자동 배포 |
|---|---|---|---|
| 저장소 주소만 연결 | ✓ (콘솔에서 수동 배포) | — | — |
| GitHub App 설치 후 연결 | ✓ | ✓ | ✓ |
새 앱으로 가져오기
- 콘솔에서
/deploy?repo=owner/repo로 이동합니다. (owner/repo는 GitHub 저장소 이름) - 저장소를 확인하고 앱 이름과 필요한 환경 변수를 입력합니다.
- 저장소의
nitroship.json에compute.regions가 없으면 컴퓨트 리전도 고릅니다. 이 값은 앱의 컴퓨트 설정으로 저장되며, 파일에 적힌 값이 있으면 파일이 우선합니다. - 앱 배포를 누르면 앱이 만들어지고 저장소가 연결된 뒤, 첫 프로덕션 빌드가 시작됩니다. 진행 상황은 빌드 화면에서 볼 수 있습니다.
주소에 ref(브랜치)와 dir(모노레포 하위 폴더)도 넘길 수 있습니다.
/deploy?repo=owner/repo&ref=main&dir=apps%2Fweb기존 앱에 저장소 연결
- 앱의 설정 → Git 저장소에서 저장소 연결을 누릅니다.
- 저장소(
owner/repo)를 고릅니다. - 프로덕션 브랜치, 루트 디렉터리, 자동 배포 여부를 정합니다. (아래 참고)
연결한 뒤에는 최신 버전 배포로 바로 프로덕션 빌드를 시작할 수 있습니다. 저장소를 바꾸려면 변경, 설정을 고치려면 수정을 누르세요. 연결을 해제해도 기존 배포는 지워지지 않고, 이후 푸시로 새 빌드가 시작되지 않을 뿐입니다.
팀에 앱을 연결하거나 저장소를 배포하려면 그 팀에서 앱 관리 권한(owner 또는 member)이 필요합니다.
비공개 저장소: GitHub App 연결
저장소 목록에 비공개 저장소가 보이지 않는다면 나이트로쉽 GitHub App이 아직 그 저장소에 접근할 수 없는 상태입니다.
- GitHub 연결을 누릅니다.
- 이미 설치된 GitHub App을 고르거나, 다른 GitHub 계정·조직에 새로 설치하고 접근할 저장소를 선택합니다.
- 나이트로쉽으로 돌아오면 저장소 선택 창이 다시 열립니다.
GitHub App 설치 하나를 여러 나이트로쉽 팀에 각각 연결할 수 있습니다. 한 팀에서 연결을 끊어도 다른 팀의 연결은 그대로입니다.
자동 배포 설정
프로덕션 브랜치
저장소를 연결할 때 고르는 브랜치가 프로덕션 브랜치입니다. 기본 브랜치가 아니어도 됩니다. GitHub App으로 연결했다면 프로덕션 자동 배포가 기본으로 켜져 있어, 이 브랜치에 푸시하면 프로덕션 빌드가 시작됩니다. 필요하면 끌 수 있습니다.
프리뷰 브랜치
프리뷰 자동 배포를 켜면 프로덕션 브랜치가 아닌 브랜치에 푸시할 때 프리뷰 빌드가 시작됩니다. 기본으로 꺼져 있고, 프로덕션 자동 배포와 따로 켜고 끕니다.
어떤 브랜치를 빌드할지는 포함·제외 패턴으로 정합니다.
- 포함 패턴이 비어 있으면 프로덕션 브랜치를 뺀 모든 브랜치가 대상입니다.
- 제외 패턴에 맞는 브랜치는 포함 패턴에 맞더라도 빌드하지 않습니다. 예:
dependabot/**
| 패턴 | 뜻 | 예 |
|---|---|---|
* | /를 넘지 않는 아무 글자들 | feature/*는 feature/login에 맞고, feature/team/login에는 안 맞음 |
** | /를 넘는 아무 글자들 | release/**는 release/2026/09에도 맞음 |
? | /가 아닌 글자 하나 | v?는 v1에 맞음 |
패턴은 브랜치 이름 전체에 적용되며 대소문자를 구분합니다.
GitHub App 없이 공개 저장소만 연결했다면 푸시 자동 배포가 없습니다. 앱 설정에서 최신 커밋을 직접 배포하세요.
루트 디렉터리 (모노레포)
배포할 앱이 저장소 최상위가 아니라 apps/web 같은 하위 폴더에 있다면 루트 디렉터리를 apps/web으로 정하세요. 저장소 최상위라면 비워 둡니다.
브랜치 주소
Git 브랜치 정보가 있는 배포가 ready가 되면, 프로덕션·프리뷰와 관계없이 그 브랜치 전용 주소가 생깁니다.
<앱 슬러그>-git-<브랜치>.rev.ntro.run
예: my-app-git-feature-login.rev.ntro.run- 이 주소는 그 브랜치에서 가장 최근에 만들어져
ready가 된 배포를 가리킵니다. 예전 빌드가 늦게 끝나도 주소가 예전 배포로 돌아가지 않습니다. - 커밋마다 고정된 리비전 주소도 그대로 쓸 수 있습니다.
브랜치 이름이 주소로 바뀌는 규칙
- 소문자로 바꿉니다.
- 영문 소문자·숫자가 아닌 글자가 이어진 부분은
-하나로 바꾸고, 양 끝의-는 지웁니다. 예:Feature/Login_Page→feature-login-page - 결과가 비었거나, 주소의 첫 부분이 63자를 넘거나, 다른 주소와 겹치면 원래 브랜치 이름의 해시(SHA-256 앞 6자리)를 붙입니다. 이때 길이에 맞게 브랜치 부분 앞쪽만 남기고 자릅니다.