[Vercel] 자동 배포 태클 걸기 (Ignored Build Step)

찐새·2023년 5월 18일
0

next.js

목록 보기
41/41
post-thumbnail

Vercel은 연결한 저장소를 자동 배포해주는 편의성을 제공한다. 그날 작업을 마무리하고 배포한다면 더할 나위 없지만, 오늘은 미완성 작업이라 커밋은 하고 배포는 하지 말아야 했다. 브랜치를 새로 만들어 커밋하면 될까 고민했지만, preview로 빌드될 것 같았다.

이런 때를 대비해 VercelIgnored Build Step 기능을 제공한다.

Ignored Build Step

Ignored Build Stepgit diff --quiet HEAD^ HEAD 명령어를 이용해 커밋 해시를 비교하고, 과거에 배포한 해시와 같으면 새 배포를 생성하지 않는다.

만약 미완성 작업 폴더/파일이 있다면, 명령어 뒤에 폴더명/파일명을 덧붙여 새 배포를 멈출 수 있다.

예를 들어, 내 경우 ./data 폴더를 작업 중이었고, 그 외에는 변경사항이 없어 배포할 이유가 없었다. 이때 git diff --quiet HEAD^ HEAD ':!./data' 명령으로 data 폴더의 변경사항은 제외하고 커밋 해시를 비교해 배포 여부를 결정한다.

git diff --quiet HEAD^ HEAD
> 마지막 커밋 전 버전(HEAD^)과 마지막 커밋 버전(HEAD) 간의 변경사항을 비교

--quiet
> 변경사항 비교 결과를 출력하지 않음

:!
> 지정된 패턴을 제외하고 변경 사항을 표시

Usage

Vercel의 프로젝트에 들어가서 Settings -> Git -> Ignored Build Step -> Save 순으로 진행하면 된다.

비교에서 제외할 파일이 여러 개라면, git diff --quiet HEAD^ HEAD ':!./data' ':!test.ts' ... 등으로 나열하면 된다.


참고
Vercel - Projects Overview#Ignored Build Step
Vercel - How do I use the "Ignored Build Step" field on Vercel?
How to ignore Vercel build step for certain folders and files
Git - diff

profile
프론트엔드 개발자가 되고 싶다

0개의 댓글