목차
1. token 설정🌱 github 토큰 등록🌿 vercel 에 토큰 등록2. 부모 레포지토리 설정🌱 vercel-submodule-workaround.sh🌱 package.json빌드 성공!! 🎉
버셀은 서브모듈을 지원하지 않는다. 서브모듈을 적용한 프로젝트를 vercel 로 배포하며 생각지 못한 이슈가 생겼다. 개인 프로젝트 할때 가장 만만하게 사용하던 배포 툴이었는데 서브모듈을 지원하지 않아 추가적인 설정이 필요했다. 구글링 할 때 자료가 많이 없기도 했고 나와있는 자료조차 조금씩 헷갈리는 부분이 있어서 생각보다 많이 헤맸다. 하지만 이제 이 방법대로 하면 절대 배포이슈 날일 없음!!!!!! 😊
1. token 설정
🌱 github 토큰 등록
- Settings -> Developer settings -> Personal access tokens
- Generate new token 선택
- note 설정 (eg. vercel)
- expiration 설정 (eg. No expiration)
- 귀찮지 않으려면 만료일 없는것으로 설정하는게 정신건강에 좋다.
- select scopes 설정
repo - Full control of private repositories
- 토큰 복사
🌿 vercel 에 토큰 등록
- 환경변수 세팅
- 적용할 프로젝트 -> Settings -> Environment Variables
- key : GITHUB_ACCESS_TOKEN / value : 복사한 git 토큰 값
- general 세팅
- 적용할 프로젝트 -> Settings -> general
- Build Command 에
npm run vercel-build
입력 후 토글 override
2. 부모 레포지토리 설정
🌱 vercel-submodule-workaround.sh
.gitmodules 를 보면 path 와 url 을 참고하여 쉘 스크립트에 들어갈 정보를 입력한다.
이때, repo paths 부분에 url 을 그대로 넣으면 아예 액세스토큰 자체를 불러오지 못한다.
밑에서 보면
git remote add origin
https
://$GITHUB_ACCESS_TOKEN@$SUBMODULE_GITHUB
부분에서 이미 https:// 가 적용되어 있기 때문이다.
반드시
github.com/22sook00/next-submodule
까지만 작성해주도록 한다. 🌱 package.json
vercel-submodule-workaround.sh
이 작동하면 npm run build 를 해라!GITHUB_ACCESS_TOKEN 은 버셀에서 등록한 환경변수에서 가져오기 때문에
.env 에는 별도로 추가하지 않아도 된다.
빌드 성공!! 🎉
🔗 배포된 서브모듈 적용 에디터 사이트 :
🔗 배포된 서브모듈 적용 라이브 사이트 :
참조
🔗 vercel-private-submodule
vercel-private-submodule
beeinger • Updated Feb 11, 2024