CI デプロイ — GitHub Pages 自動公開

quarto-dsh ci で GitHub Actions のデプロイ設定を生成し、Pages に自動公開する

概要

quarto-dsh ci は、Quarto サイトを GitHub Pages に自動デプロイする GitHub Actions ワークフローを生成します。プッシュのたびに quarto render → Pages へ公開、という流れを自動化します。

使い方

quarto-dsh ci

プロジェクトのルートに .github/workflows/deploy.yml を生成します。サイトを site/ などサブディレクトリに置いている場合は --dir を指定します。

quarto-dsh ci --dir site

生成されるワークフロー

name: Deploy Quarto site to GitHub Pages

on:
  push:
    branches: [main]

permissions:
  contents: read
  pages: write
  id-token: write

concurrency:
  group: pages
  cancel-in-progress: true

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: quarto-dev/quarto-actions/setup@v2
      - uses: r-lib/actions/setup-r@v2
        with:
          use-public-rspm: true
      - uses: quarto-dev/quarto-actions/render@v2
        with:
          to: html
      - uses: actions/configure-pages@v5
      - uses: actions/upload-pages-artifact@v3
        with:
          path: _site
      - id: deployment
        uses: actions/deploy-pages@v4

--dir site を指定した場合は to: html の代わりに path: site で render を実行し、アップロード先は site/_site になります。

公開手順

1. ワークフローを生成してコミット

quarto-dsh ci --dir site
git add .github site
git commit -m "Add GitHub Pages deployment"
git push origin main

2. Pages を有効化

リポジトリ設定 → Settings → Pages で Source を GitHub Actions に設定します(ワークフローが Pages デプロイを担当)。

3. デプロイを確認

Actions タブでワークフローの実行を確認します。成功すると https://<ユーザー名>.github.io/<リポジトリ名>/ で公開されます。

TipGitHub CLI で Pages を有効化

ブラウザなしで設定する場合:

gh api repos/{owner}/{repo}/pages \
  -f 'build_type=workflow' -X POST

関連