今日の作業
Web版ノートのデプロイ
GitHub Actionsで自動でビルドとデプロイを行えるようにした。
自動化むずかった。
詰まったポイント1
subtree pullで色々あった
$ git subtree pull --prefix=content https://github.com/yossy4411/note.git
これで解決すると思いきや、分岐の原点が違うよって言われるので
[email protected]:yossy4411/note.git
にすると今度permission denied (publickey)
って言われるのでもう嫌になりました。
- uses: bisontransport/git-subtree-action@v1
with:
pat: ${{ secrets.GH_TOKEN }}
repo: https://github.com/yossy4411/note.git
action: pull
prefix: content
message: "Update note subtree"
こうすれば
エラーが無視されるし記述が簡単になって楽
※エラーの根本的な解消にはなってない
これを修正するために、まずcheckoutを次のように変更します。
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
+ fetch-depth: 0
こうすることでブランチ全体のfetchができ、原点を検出できます。
詰まったポイント2
```yaml
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
if: github.ref == 'refs/heads/main'
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
publish_branch: gh-pages
実は リポジトリ設定>ActionsからBotに
Read/Write
の権限を持たせないといけなかったりする