はじめに
GitHub Actionsを使ってNext.jsをVercelにデプロイしようとしたらエラーが出た。
問題
GitHub Actionsでエラーが発生した部分
- name: Deploy to Vercel
run: npx vercel --prod --token ${{ secrets.VERCEL_TOKEN }} --yes
env:
orgId: ${{ secrets.VERCEL_TEAM_ID }}
projectId: ${{ secrets.VERCEL_PROJECT_ID }}
NEXT_PUBLIC_SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY: ${{ secrets.SUPABASE_PUBLISHABLE_KEY }}
解決方法
- name: Deploy to Vercel
run: |
npx vercel --prod \
--token ${{ secrets.VERCEL_TOKEN }} \
--yes \
--build-env NEXT_PUBLIC_SUPABASE_URL=${{ secrets.SUPABASE_URL }} \
--build-env NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=${{ secrets.SUPABASE_PUBLISHABLE_KEY }}
env:
orgId: ${{ secrets.VERCEL_TEAM_ID }}
projectId: ${{ secrets.VERCEL_PROJECT_ID }}
Supabaseの環境変数の渡し方を変えたらデプロイが成功しました。
参考文献
おわりに
npx vercel --prod --token ${{ secrets.VERCEL_TOKEN }} --yesではnpm run buildも実行されるのですが、そこで失敗していました。
ただ、デプロイではなくnpm run build単体のrunは最初の環境変数の渡し方で通っていたので不思議です。
