GitHub Actions で Hexo のデプロイを自動化します。
環境
- Windows 11 Home 22H2
- Node.js v18.16.0
- hexo-cli: 4.3.1
はじめに
今回は2つのリポジトリが必要になります。
- Hexo プロジェクト用のプライベートリポジトリ。GitHub Actions でデプロイの自動化を設定する。
- GitHub Pages で公開する用のパブリックリポジトリ。ビルドされたブログが自動でプッシュされる。
準備
事前に Hexo でブログを作成しておきます。
1 | npm install hexo-cli -g |
手順
個人用アクセストークン
Hexo から GitHub Pages にデプロイするため、個人用アクセストークンを取得します。このアクセストークンがあれば、パスワード不要でデプロイできるようになります。
GitHub > Settings > Developer Settings のページを開き、Generate new token
で新規トークンを作成します。
- Expiration:
No expiration
を選択。有効期限切れしないように。 - Select scopes:
repo
を選択。プライベートリポジトリを操作するため。
作ったトークンわ後ほど使うのでメモしておきます。管理は厳重にして、絶対に公開しないでください。
プロジェクトのデプロイ設定
Hexo のプロジェクトに hexo-deployer-git
パッケージを追加します。
1 | npm install hexo-deployer-git --save |
_config.yml
に GitHub へのデプロイ情報を記載します。 ***
の部分は先ほど取得したアクセストークンにを貼ってください。
1 | # Deployment |
デプロイ先のリポジトリは事前に作っておきます。中身はカラで大丈夫。
ここまでのデプロイ設定ができたら、リポジトリはプライベートで GitHub にプッシュします。
GitHub Actions
GitHub Actions で自動化のワークフローを設定をします。
新規で deploy.yml
を作成して、次のワークフローをコピペします。
1 | name: Deploy |
このワークフローは、GitHubリポジトリ内でプッシュイベントが発生するたびに、ブログのビルドとデプロイを実行します。また、依存モジュールのキャッシュを利用することで作業の高速化を図っています。
GitHub Pages
最後に、デプロイされたリポジトリを GitHub Pages で公開します。