自サイトの更新をもっと楽にしたい
現状
Hugo+リトルサーバー
手動でビルドしてFTPツールでアップロード
構想
💭こんなことできるのかー
GitHubActionsでWebサイトの更新を自動化 #Web - Qiita
Hugo の記事をヘッドレスCMS で管理できる! Content adapters 入門
GitHub ActionsへのWebhook通知に対応しました | microCMSブログ
microCMSでコンテンツ更新時に、WebhookでGitHub Actionsを実行する
Hugo、Firebase、GitHub Actionsでブログを自動デプロイする
Github ActionsでHugoを使ったブログのビルドとデプロイを自動化した話
【Hugo】GitHubをヘッドレスCMSとして使う #GitHubActions - Qiita
microCMSで記事書く→WebhookでGitHub Actionsが実行される→HugoがContent adaptersでページ作ってビルドする→自動でデプロイされる→サイトが更新される、って感じにできるといいな〜
素直にWordPress使えばいいんだろうけど、こっちのほうが惹かれるので一旦できるとこまでやってみよう
Contentrainもよさそう?
Netlify CMSをモダンにした感じという印象
GitベースのヘッドレスCMS 2種 Decap CMS と Contentrain を試してみた
自サイトにCMSを導入するとしたら
2024-11-16
とりあえずContent adaptersが使えるようにHugoをアップグレードしておく
brewコマンド #brew - Qiita
自サイト用のリモートリポジトリをつくる
【GitHub】ローカルファイルをGitHubにアップロードする #初心者 - Qiita
⚠️エラー出た(1回目)
git add .で警告。warning: adding embedded git repository: #Git - Qiita
そういえばテーマまわりで他のリポジトリをクローンしてたんだった
記事のとおりに対処
⚠️エラー出た(2回目)
初回git push 時の「src refspec master does not match any」解決法 #Git - Qiita
今はmasterじゃなくてmainなんやでみたいなやつ
なんか前もこれでつまずいたな
ふだんからコマンド打ってるわけじゃないから毎回記憶なくす
気を取り直してgit pushを試みる
⚠️エラー出た(3回目)
パスワード認証は廃止されたからアクセストークン持ってこいやみたいなやつ
なんか前もこれで以下略
じゃあパスワード入力求めないで最初に言ってよ〜(って前のときも思った気がする)
GitHubエラー #Git - Qiita
Githubでpush、アクセストークンを用いた方法 #GitHub - Qiita
⚠️エラー出た(4回目)
fatal: remote origin already exists. と表示された場合の解決法 #Rails - Qiita
初歩的なやつっぽい〜
ワハハ!
⚠️エラー出た(5回目)
トークン生成したのに弾かれる……
#8 remote: Write access to repository not granted.が出た際の対処法 #GitHub - Qiita
GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~ #新人プログラマ応援 - Qiita
SSH鍵を作る方法ならいけるらしい?のでやってみる
⚠️エラー出た(6回目)
鍵がオープンになってて危ないからだめ!みたいなやつ
SSH接続しようとしたら秘密鍵のパーミッションエラーがでた #Git - Qiita
パーミッションを変えればいけるらしい?のでやってみる
⚠️エラー出た(7回目)
invalid formatとかなんとか言われた
Windows で生成された SSH 秘密鍵で invalid format 出た
パーミッションがどうとかいうより、もっと手前の何かを間違えてそうだなと感じ始めた(ただの勘)
開きっぱなしにしておいた↑のページたちのタブを反復横跳びしてみる……
GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~ #新人プログラマ応援 - Qiita
名前を指定しない時は勝手に~/.ssh内に鍵を生成してくれますが、上記のように名前を指定するときは~/.ssh内にいないとこの中に生成してくれないので注意です。
ぜっっっっったいこれや!!!!!!!!!!
確認したらやっぱり想定してないとこに秘密鍵のファイルができてた
さっきパーミッション変えたのは別のファイルだったっぽい
ファイル移動した
いけました祝
2024-11-20
ひとまず、ビルドとFTPデプロイを自動化しよう
ChatGPTに全部書いてもらった
ChatGPTとの会話ログ2024-11-20
反映してみる
いろいろあったけど端折るとして、結果的にChatGPTとの会話ログ2024-11-20の最終のコードから変更したとこ
× uses: SamKirkland/FTP-Deploy-Action@v4
バージョンおかしくない?とのエラーが出た
◎ uses: SamKirkland/FTP-Deploy-Action@v4.3.5
SamKirkland/FTP-Deploy-Action: Deploys a GitHub project to a FTP server using GitHub actionsからコピっただけ
× local-dir: ./public
ディレクトリだから/で終わらないとだめだよ〜とのエラーが出た
◎ local-dir: ./public
× server-dir: /public_html
同上
それと、最初どのディレクトリを指定したらいいのかわかんなくて一回サイトが爆発炎上した
◎ server-dir: /home/<ユーザー名>/pub/
リトルサーバーの場合
うまく動いた!
2024-11-21
↑このままだとてがろぐのデータも上書きされるから、除外するようにしないとだ
参考: GitHubActionsでWebサイトの更新を自動化 #Web - Qiita
code:deploy.yml
- name: Deploy via FTP
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
protocol: ftp # FTP を使用
local-dir: ./public/ # Hugo のデフォルトの出力ディレクトリ
server-dir: /home/<ユーザー名>/pub/ # FTP サーバー上のデプロイ先ディレクトリ
exclude: |
**/tegalog.xml # てがろぐの投稿データは除外
なんかエラー出た
Error: fatal: No url found for submodule path 'themes/blank' in .gitmodules
なんで今???って感じだけど、どっかでなんか触っちゃったのかなあ
Hugo + GitHub PagesでNo url found for submodule pathが出てデプロイに失敗してしまった時の解決策 #メモ - Qiita
言われた通りにやる感じ
テーマはこれ: Blank | Hugo Themes
$ git submodule add https://github.com/vimux/blank theme/blank
なんかエラー出た
Updates were rejected because the tip of your current branch is behind
こうしたらいいよ〜という対処法も表示されてるので、その通りにやり直す
参考: git pullしたらWarning出たからちゃんと読む。
できた!
ここからは
Content adaptersを組み込む
アーカイブをmicroCMS側に移す
コンテンツが全くないまっさらの状態なら、csvでインポートできるみたい
microCMSでMarkdownでの入稿と管理ができるようにする
これはオプショナルだし走りながらでいい
Next.jsだかReactだかの知識が必要になるから長い目で見てやっていく
できた!!!!!
自サイトにmicroCMSを導入した