Sphinxで作成したページをデプロイする

Deploy keys & Secretsを登録する

まず公開鍵と秘密鍵のペアを生成する

$ ssh-keygen -t ed25519 -C "$(git config use.email)" -f github-deploy-key-ed25519 -N ""

次に公開鍵と、秘密鍵を登録する。

  • 公開鍵は、プロジェクトページのSettings -> Deploy KeysAdd deploy keyで登録する。

  • 秘密鍵は、プロジェクトページのSettings -> SecretsAdd a new secretで登録する。SecretはMNY_ACTIONS_DEPLOY_KEYという名前で登録する。

GitHub Pagesの設定

Settings -> GitHub PagesでGitHub Pagesの設定をする.

sourceの項目をgh-pagesの/root以下に設定すると、GitHub Pagesの成果物がgh-pagesブランチのルートディレクトリ以下に作成されるようになる。これらを変更することも可能である。

workflowsの作成

.github/workflows/document.ymlを作成する.

name: document

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: Ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Set up Python 3.8
        uses: actions/setup-python@v1
        with:
          python-version: '3.8'

      - name: Display python version
        run: python3 -c "import sys; print(sys.version)"

      - name: Install Sphinx dependencies
        run: sudo apt-get install python-dev build-essential

      # Note: it is better using requirements.txt to install required packages
      - name: Install Sphinx + requirements via pip
        run: |
          pip install sphinx
          pip install sphinx-rtd-theme
          pip install myst_parser

      - name: Build documentation
        run: make html

      # Posting to GitHub Pages
      - name: Deploy GitHub Pages
        uses: peaceiris/actions-gh-pages@v3
        with:
          deploy_key: ${{ secrets.MY_ACTIONS_DEPLOY_KEY }}
          publish_dir: ./build/html
          force_orphan: true
          commit_message: ${{ github.event.head_commit.message }}