どうも、たくチャレ(@takuchalle)です。

以前、[GitLab の CI/CD 機能で Hugo を Firebase Hosting にデプロイする方法を書きました]({{ ref . “gitlab_deploy_firebase_hosting” }})。

今回このブログのリポジトリをGitHubに移行したので、デプロイもGitHub Actionsを使うようにしました。その時に行った作業を紹介します。

GitHub に移行する理由

移行する理由は2つです。

  • プライベートリポジトリが無料になったから
  • 他のリポジトリも GitHub にあるから統一したかったから

要はこのリポジトリだけGitLabにあるのは不便だったからです。

GitLab から GitHub へのリポジトリ移行方法

GitHubに空のリポジトリがある前提で、次のコマンドを打つだけです。ブログをgitで管理してると取り回しが楽でいいですね。

$ git remote remove origin
$ git remote add origin https://github.com/takuyaohashi/blog.takuchalle.dev.git
$ git push -u origin master

デプロイの設定

.github/workflows/deploy.yamlに次の内容の設定ファイルを置きます。あらかじめリポジトリの設定からFIREBASE_TOKEN設定してください。

name: deploy

on: [push]

jobs:
  build:
    name: deyloy to firebae hosting
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
      with:
        submodules: true
    - name: Setup hugo
      uses: peaceiris/actions-hugo@v2
      with:
        hugo-version: '0.63.2'

    - name: Build
      run: hugo

    - name: Deploy
      uses: w9jds/firebase-action@master
      with:
        args: deploy --only hosting
      env:
        FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}

上記の全てを実行してくれるgithub-action-hugo-deploy-to-firebaseというアクションを見つけたのですが、Hugoのバージョン指定が出来なさそうだったので使うのは諦めました。

GitHub action to build a Hugo site and deploy it to Firebase Hosting - pulimento/github-action-hugo-

まとめ

GitHub Actions を使って Hugo を Firebase Hosting にデプロイする方法を紹介しました。

個人的にはHugoのホスティングにはNetlifyが一番簡単だと思ってますが、Firebaseに馴染んでおきたいので使い続けてます。