로고로고

GitHub Actions로 Vercel 하루 1회 자동 재배포 설정하기

2025년 7월 4일

GitHub Actions로 Vercel 하루 1회 자동 재배포 설정하기

Notion API와 연동된 블로그를 운영하다 보면, 이미지나 비디오 같은 외부 리소스가 일정 시간이 지나면 깨지는 문제가 생길 수 있음.

이는 Notion API에서 제공하는 리소스 URL이 일정 시간만 유효한 임시 signed URL이기 때문

이 문제를 해결하기 위해 나는 매일 정기적으로 사이트를 재배포하여 새로운 URL을 다시 받아오도록 구현해놓음.

나는 매일 정기적인 재배포를 하기 위해 GitHub Actions와 Vercel의 Deploy Hook을 이용해 자동화 시킴

 

GitHub Actions 설정 코드

name: Daily Vercel Redeploy

on:
  schedule:
    - cron: "0 0 * * *"
  workflow_dispatch:

jobs:
  redeploy:
    runs-on: ubuntu-latest
    steps:
      - name: Trigger Vercel Deploy Hook
        run: |
          curl -X POST "${{ secrets.VERCEL_DEPLOY_HOOK }}"

 

jobs:
  redeploy:
    runs-on: ubuntu-latest

 

    steps:
      - name: Trigger Vercel Deploy Hook
        run: |
          curl -X POST "${{ secrets.VERCEL_DEPLOY_HOOK }}"

 

Vercel Deploy Hook 만들기

  1. Vercel 프로젝트 대시보드에서 Settings → Git → Deploy Hooks로 이동
  2. Create Hook 을 눌러 새 Hook을 생성
  3. 생성된 URL을 복사

 

GitHub Secrets 등록

  1. GitHub 저장소 → Settings → Secrets and variables → Actions
  2. New repository secret 버튼 클릭
  3. 아래와 같이 입력
    1. Name : VERCEL_DEPLOY_HOOK (이름)
    2. Value : 위에 복사한 Hook URL

 

결과