Closed3

GitHub Pages にプライベートリポジトリの Next.js をデプロイする

ttyfkyttyfky

Next.js で作成したブログなどを GitHub Action などを用いて GitHub Pages にデプロイする基本はこのあたりを参考にしたら良い。
コンテンツ自体を username.github.io で作成しており、ビルド前のリソースがパブリック設定で良いならそのままでOK。
各種バージョンは新しいものにしたほうが良い。

https://qiita.com/manten120/items/87e9e822800403904dc8
https://jamband.github.io/blog/2021/08/deploy-nextjs-app-to-github-pages/

ttyfkyttyfky

peaceiris/actions-gh-pages で external_repository を設定したら外部のリポジトリにデプロイ出来る。

参考

- name: Deploy
  uses: peaceiris/actions-gh-pages@v3
  with:
    deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
    external_repository: username/username.github.io
    publish_dir: ./out

ttyfkyttyfky

deploy_key は SSH キー。

  1. Next.js をビルドする側の GitHub Action に秘密鍵を設定(Settings -> Secrets -> Actions)
  2. 作成される秘密鍵のコメントも含める
  3. github.io 側のリポジトリで Deploy Key (Settings -> Deploy Keys) に公開鍵を設定

SSH key の作成コマンド:

% ssh-keygen -t rsa -b 4096 -C "EMAIL"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/$USER/.ssh/id_rsa): github-actions # 何でも良いがわかり易い名前にする。
Enter passphrase (empty for no passphrase): # CI からパスワードを入れたくないので空にする。
Enter same passphrase again: 
Your identification has been saved in github-actions # 秘密鍵。
Your public key has been saved in github-actions.pub #公開鍵。
The key fingerprint is:...
このスクラップは2022/02/27にクローズされました