Nuxt Nationカンファレンスがやってきます。11月12日から13日、ご参加ください。
デプロイ

GitHub Pages

NuxtアプリケーションをGitHub Pagesインフラにデプロイします。

NuxtはGitHub Pagesへのデプロイを最小限の設定でサポートしています。

GitHub Pagesは静的サイトのみをサポートしています。Nuxtはアプリケーションを静的HTMLファイルに事前レンダリングします。
カスタムドメインを使用していない場合は、ビルドステップでNUXT_APP_BASE_URLをリポジトリスラッグに設定する必要があります。: https://<user>.github.io/<repository>/: NUXT_APP_BASE_URL=/<repository>/ npx nuxt build --preset github_pages

セットアップ

GitHub Pagesサイトを作成する手順に従います。

デプロイ

github_pagesプリセットを使用してGitHub PagesにサイトをデプロイするためのサンプルGitHub Actionsワークフローを次に示します

.github/workflows/deploy.yml
# https://github.com/actions/deploy-pages#usage
name: Deploy to GitHub Pages
on:
  workflow_dispatch:
  push:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: corepack enable
      - uses: actions/setup-node@v4
        with:
          node-version: "20"
      # Pick your own package manager and build script
      - run: npm install
      - run: npx nuxt build --preset github_pages
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: ./.output/public
  # Deployment job
  deploy:
    # Add a dependency to the build job
    needs: build
    # Grant GITHUB_TOKEN the permissions required to make a Pages deployment
    permissions:
      pages: write      # to deploy to Pages
      id-token: write   # to verify the deployment originates from an appropriate source
    # Deploy to the github_pages environment
    environment:
      name: github_pages
      url: ${{ steps.deployment.outputs.page_url }}
    # Specify runner + deployment step
    runs-on: ubuntu-latest
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4
Nitroドキュメントに移動して、github-pagesデプロイプリセットについて詳しく学んでください。