GitHub 포크 자동화 + Vercel 자동 배포 트러블슈팅

송연지·2025년 2월 13일
0

트러블슈팅

목록 보기
19/32
post-thumbnail

조직(Organization) 저장소에서 Vercel을 사용하려고 했는데, 유료 플랜이 필요해서 개인 계정에 포크(Fork) 해서 배포하는 상황!

하지만, 포크된 저장소는 계속 업데이트해야 하는 번거로움이 있음 😩

✅ 해결법: GitHub Actions를 활용하여 매일 자동으로 포크를 최신 상태로 유지하고, Vercel에서 자동 배포되도록 설정!


📌 1. Organization 저장소에서 Vercel 자동 배포가 안 되는 이유

🔍 문제: Vercel이 Organization 저장소에서 무료 배포를 지원하지 않음

이유:

  • 개인(Personal) 계정에서는 Vercel 무료 플랜(FREE Plan) 으로 배포 가능
  • 하지만 조직(Organization) 저장소를 Vercel에 연결하려면 유료 플랜이 필요함
    • Vercel Pro (월 $20 이상) 요금제 필요
    • 무료 플랜에서는 조직 저장소를 배포할 수 없음

해결법:

  1. 조직 저장소를 개인 저장소에 Fork
  2. 개인 저장소를 Vercel에 연결하여 무료 배포
  3. 포크된 저장소를 최신 상태로 유지하는 자동화 추가

✅ 2. GitHub 포크 자동 업데이트 (매일 자동화)

💡 포크한 저장소를 최신 상태로 유지하려면 매일 원본 저장소(Upstream)에서 자동으로 동기화해야 함!

🔹 방법 1: GitHub Actions 사용 (자동화)

GitHub Actions을 사용하여 매일 자동으로 최신 코드 동기화!

  1. 개인 저장소(Songyeonji/SnapSum-frontend)에서
  2. 원본 저장소(organization/SnapSum-frontend)의 변경 사항을 가져와 병합

📜 GitHub Actions 스크립트 (.github/workflows/sync-fork.yml)

📌 이 스크립트를 개인 저장소(Songyeonji/SnapSum-frontend)에 추가하면 매일 자동으로 최신 상태 유지됨!

yaml
복사편집
name: Sync Fork with Upstream

on:
  schedule:
    - cron: '0 0 * * *'  # 매일 자정(UTC 기준) 자동 실행
  workflow_dispatch: # 필요하면 수동 실행도 가능

jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3

      - name: Configure Git
        run: |
          git config --global user.name "GitHub Actions"
          git config --global user.email "actions@github.com"

      - name: Add upstream repository
        run: git remote add upstream https://github.com/organization/SnapSum-frontend.git

      - name: Fetch upstream changes
        run: git fetch upstream

      - name: Merge upstream changes into main
        run: |
          git checkout main
          git merge upstream/main --allow-unrelated-histories || true

      - name: Push changes to forked repository
        run: git push origin main

✅ 설정 방법

1️⃣ 포크한 저장소(Songyeonji/SnapSum-frontend)에서 .github/workflows/sync-fork.yml 파일 생성

2️⃣ 위 YAML 코드를 파일에 추가하고 저장

3️⃣ GitHub에서 Actions 탭 → Enable Workflows 클릭하여 활성화

4️⃣ 매일 자동으로 업데이트됨! 🚀


✅ 3. Vercel 자동 배포 확인

💡 포크된 저장소에서 최신 코드가 업데이트되면 Vercel이 자동으로 배포해야 함!

🔹 Vercel에서 배포가 자동으로 안 될 경우 해결법

  1. Vercel → Project SettingsGit 설정 확인

  2. GitHub Actions 실행 후 Vercel이 자동으로 배포되는지 확인

  3. 자동 배포 안 되면 Vercel 대시보드에서 "Redeploy" 버튼 클릭

  4. GitHub에 빈 커밋 푸시하여 강제로 트리거 가능

    sh
    복사편집
    git commit --allow-empty -m "Trigger Vercel Deploy"
    git push origin main
    

✅ 4. 최종 정리

📌 Organization 저장소에서 Vercel이 자동 배포되지 않는 이유

  • Vercel은 조직 저장소 무료 배포 불가능
  • 개인 저장소에 포크 해서 배포해야 무료 사용 가능

📌 GitHub 포크된 저장소 자동 업데이트

  • GitHub Actions (.github/workflows/sync-fork.yml) 사용
  • 매일 cron 스케줄링으로 Upstream 최신 코드 가져오기

📌 Vercel 자동 배포

  • GitHub Actions로 자동 업데이트 후 Vercel이 자동 배포
  • 배포 안 되면 빈 커밋 푸시하거나 Vercel에서 Redeploy 실행

🚀 ✅ 이렇게 하면?

Vercel 무료 플랜 유지하면서 최신 코드 자동 업데이트!

GitHub 포크 자동 동기화 → Vercel 자동 배포까지 완벽 자동화!

profile
프론트엔드 개발쟈!!

0개의 댓글