GitHub Actions[1] GitHub Actionsによるデプロイ自動化

GitHub Actions[1] GitHub Actionsによるデプロイ自動化

2024-01-17


はじめに

ブログのデプロイ作業の自動化を、GitHub Actionsで実現しました。サブモジュールの取扱についても学びました。
github

1
2
3
4
手順
1. GitHub Pagesの段取り
2. GitHub ActionsでリモートサーバーのVMでHexoを実行する
3. サブモジュールの取扱はsshでなく、httpsで参照すべし

1. GitHub Pagesの段取り

GitHub Pagesは、1つのアカウントに付き1つのページ

ユーザー名.github.ioというリポジトリをまずは作成する。

GitHub Pagesのビルドとデプロイ方法:GitHub Actionsに変更

デフォルトでは、GitHub Pagesのビルドとデプロイはブランチのソースからのデプロイとなっている。
ソースの変更を確定(コミット)するたびに、自動でビルドとデプロイするため、GitHub Actionsにビルドとデプロイの手順を記載する。

GitHub Actionsは、ymlファイルを.github/workflows/において管理する

Hexo - デプロイ - GitHub Pagesを参考に、ビルドとデプロイのワークフローを記載したymlファイルを、~/.github/workflow/の下に作成する。

2. GitHub ActionsでリモートサーバーのVMでHexoを実行する

VMによるワークフロー実行

GitHub Actionsでは、ymlファイルに記載されたワークフローをVM仮想マシン上で実行処理する。

Node.jsのバージョン管理

Hexo本体だけでなく、テーマやプラグインなどを管理するpackage.jsonの依存関係の管理とともに、Node.jsのバージョン管理を行う。

3. サブモジュールの取扱はsshでなく、httpsで参照すべし

開発者としてのssh接続・使用者としてのhttps接続

GitHubのリポジトリは目的によりssh接続とhttps接続を使い分ける。
例えば、Hexoでブログのテーマを参照する場合、git cloneするが、これをサブモジュール登録する場合は必ずhttps接続でクローンする。