コンテンツにスキップ

AstroサイトをGitHub Pagesにデプロイする

GitHub Pagesを使って、GitHub.com上のリポジトリから直接Astroウェブサイトをホストすることができます。

GitHub Actionsを使うことで、AstroサイトをGitHub Pagesに自動的にビルドしてデプロイすることができます。これを行うには、ソースコードがGitHubでホストされている必要があります。

Astroは公式のwithastro/actionを保守しており、ほとんど設定することなくプロジェクトをデプロイすることができます。以下の手順に従って、AstroサイトをGitHubページにデプロイしてください。さらに詳しい情報が必要な場合は、パッケージのREADMEを参照してください。

astro.config.mjssitebaseオプションを設定します。

astro.config.mjs
import { defineConfig } from 'astro/config'
export default defineConfig({
site: 'https://astronaut.github.io',
base: 'my-repo',
})

siteの値は以下のいずれかでなければなりません。

Astroがあなたのリポジトリ名(例:/my-repo)をウェブサイトのルートとして扱うようにbaseの値が必要な場合があります。

baseには、/my-blogのように、スラッシュで始まるリポジトリ名を指定します。これは、Astroがあなたのウェブサイトのルートがデフォルトの/ではなく、/my-repoであることを理解できるようにするためです。

カスタムドメインでGitHub pagesを使用するようにAstroを設定するには、siteの値にドメインを設定します。baseには値を設定しないでください。

astro.config.mjs
import { defineConfig } from 'astro/config'
export default defineConfig({
site: 'https://example.com',
})
  1. プロジェクトの.github/workflows/deploy.ymlに新しいファイルを作成し、以下のYAMLを貼り付けます。

    deploy.yml
    name: Deploy to GitHub Pages
    on:
    # `main`ブランチにプッシュするたびにワークフローを実行します。
    # 異なるブランチ名を使用する場合は、`main`をブランチ名に置き換えてください。
    push:
    branches: [ main ]
    # このワークフローをGitHubのActionsタブから手動で実行できるようにします。
    workflow_dispatch:
    # このジョブがリポジトリをクローンし、ページデプロイメントを作成することを許可します。
    permissions:
    contents: read
    pages: write
    id-token: write
    jobs:
    build:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout your repository using git
    uses: actions/checkout@v4
    - name: Install, build, and upload your site
    uses: withastro/action@v3
    # with:
    # path: . # リポジトリ内のAstroプロジェクトのルートロケーション。(オプション)
    # node-version: 20 # サイト構築に使用するNodeのバージョン。デフォルトは20です。(オプション)
    # package-manager: pnpm@latest # 依存関係のインストールとサイトのビルドに使用するNodeパッケージマネージャ。ロックファイルに基づいて自動的に検出されます。(オプション)
    deploy:
    needs: build
    runs-on: ubuntu-latest
    environment:
    name: github-pages
    url: ${{ steps.deployment.outputs.page_url }}
    steps:
    - name: Deploy to GitHub Pages
    id: deployment
    uses: actions/deploy-pages@v4
  2. GitHubで、リポジトリのSettingsタブに行き、設定のPagesセクションを見つけてください。

  3. サイトのSourceとしてGitHub Actionsを選択します。

  4. 新しいワークフローファイルをコミットし、GitHubにプッシュします。

これでサイトが公開されたはずです!Astroプロジェクトのリポジトリに変更をプッシュすると、GitHub Actionが自動的にデプロイしてくれます。

その他のデプロイガイド

貢献する コミュニティ Sponsor