今日の作業

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の権限を持たせないといけなかったりする