🦖
DocusaurusのGitHub PagesデプロイをGitHub Actionsで自動化する
· 約4分
前回の記事では、Docusaurus で作成したサイトを GitHub Pages に手動でデプロイする方法を紹介しました。
DocusaurusをGitHub Pagesで動かす
Docusaurusで作成したサイトをGitHub Pagesで公開する手順を詳しく解説。基本的な設定からデプロイコマンドの実行までをカバーしています。
今回は、さらに一歩進んで GitHub Actions を使い、コードを GitHub にプッシュするだけで自動的にデプロイされる仕組み を構築します。
手順の概要
自動デプロイを実現するための流れは以下の通りです。
- GitHub リポジトリの設定変更: デプロイの権限を GitHub Actions に与えます。
- ワークフローファイルの作成: ビルドとデプロイの手順を記述した設定ファイルを作成します。
- 動作確認: コードをプッシュして、実際にサイトが更新されるか確認します。
1. GitHub リポジトリの設定変更
まず、GitHub Actions から GitHub Pages へ直接デプロイできるように設定を切り替えます。
- GitHub リポジトリの Settings タブを開きます。
- 左サイドメニューの Pages を選択します。
- Build and deployment セクションにある Source を、デフォルトの
Deploy from a branchから GitHub Actions に変更します。

これで、GitHub Actions 経由でサイトを更新する準備が整いました。
2. GitHub Actions のワークフローを作成する
次に、ビルドとデプロイの手順を定義する「ワークフローファイル」を作成します。リポジトリのルートディレクトリに .github/workflows/deploy.yml というファイルを作成し、以下の内容を記述します。
name: Deploy to GitHub Pages
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: true
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 24
cache: 'yarn'
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Build website
run: yarn build
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./build
deploy:
name: Deploy
runs-on: ubuntu-latest
needs: build
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
注記
現在の GitHub のデフォルトブランチ名は main が一般的ですが、プロジェクトによっては master を継続して使用している場合があります。ご自身の環境に合わせて branches の指定を書き換えてください。