717 words
4 minutes
ブログの構成を変更
かなり理想に近づいた気がする
以前に試して諦めたブログの記事の部分をsubmoduleにする方式でできるようになりました!
ブログ記事のリポジトリ名をblog-postとしていますが、このリポジトリのmainブランチにpushされるとblog本体のリポジトリにプルリクが作成されます。 プルリクが作成されるとnetlifyがdemoページを作成してくれて、確認後マージすると本番に反映される流れです。
blog-postのリポジトリは日常使いしているobsidianの全体メモにもsubmoduleで追加しています。 これでいつでもシームレスにブログ執筆できるようになりました。(本当は作業中にブログ書くのがベストなのですが、それはまだ慣れていないので…)
そしてobsidianのメモ同期はgithubで行っています。なんとgit プラグインがsubmodule配下のファイルに変更があっても自動でpushしてくれます。さらにメインのリポジトリのsubmodule updateも自動でやってくれます。すごい…(submoduleは管轄外を想定していました)
さっくりとブログの更新手順
以下のような手順になります
- 手動: ブログ記事をobsidianで書く
- 自動: git プラグインがblog-postリポジトリのdevブランチに自動commit & push
- 手動: github上でblog-postリポジトリのmain←devでプルリクを作成してマージ
- 自動: blog-postリポジトリのgithub actionsでmainに動きがあった場合に、blog本体のリポジトリにsubmodule updateしたプルリクを作成させる
- 自動: プルリクに反応してその内容でnetlifyがデモページを作成
- 手動: ページを確認後、よさそうならプルリクをマージ
- 自動: 本番のページに反映されます
mermaidで書くとこんな感じになります
sequenceDiagram
autonumber
participant Obsidian as 📝 Obsidian
participant GitHub as 🌐 GitHub
participant Actions as ⚙️ GitHub Actions
participant Netlify as 🚀 Netlify
%% Obsidian 側
Obsidian->>Obsidian: 手動: 記事を書く
Obsidian->>GitHub: devブランチに commit & push
%% GitHub 側
GitHub->>Actions: 手動: mainにdevをマージするとActions発火
%% GitHub Actions 側
Actions->>GitHub: ブログ本体のリポジトリにsubmodule update PRを作成
%% Netlify 側
GitHub->>Netlify: PRが作成されるとNetlifyがデモページを作成
Netlify->>GitHub: 手動: デモページを確認後PRをマージ
%% 確認
GitHub->>Netlify: 本番ページに反映
余談
最近k8sと和解しました。 ずっと職場で構築しては失敗して(なぜか色々podが立ち上がらない)構築からやり直しで時間がかかっていました。最近になってからk3sとそのdocker版のk3dの存在を知り、そこから間違えてはクラスタの再構築→検証を高速で繰り返すことができ、理解が深まりました。(職場でうまくいかなかったのはpodの自動IPが被っていたせいでした)