サブディレクトリを Firebase に自動デプロイする


Google Firebase には、Github から自動デプロイを設定するための非常に簡単なガイドがあります.こちらを参照してください: https://firebase.google.com/docs/hosting/github-integration

簡単に言えば、次の手順に従います.
  • npm 経由で firebase-tools をインストールします.
    npm install -g firebase-tools
  • firebase ホスティング用にプロジェクトをセットアップします.
    firebase init hosting
  • PR/Merge で自動デプロイするように Github アクションを使用してプロジェクトをセットアップします.
    firebase init hosting:github

  • 注意すべきことの 1 つは、リポジトリのルート ディレクトリが Github アクションの作業ディレクトリであることです.たとえば、実際のプロジェクト ファイル、package.json などを含む「front」という名前のサブディレクトリを持つリポジトリがある場合、firebase-tools が生成する生成された .yml ファイルを変更して、アクションが次のようになるようにする必要があります.作業ディレクトリ内で実行します. npm コマンドを実行した後、「working-directory」を使用します

    また、「FirebaseExtended/action-hosting-deploy@v0」アクションの作業ディレクトリを次のように設定する必要があります: entryPoint: <directory_that_your_firebase.json_is_in>
    次に例を示します.

    # This file was auto-generated by the Firebase CLI
    # https://github.com/firebase/firebase-tools
    
    name: Deploy to Firebase Hosting on merge
    'on':
      push:
        branches:
          - main
    jobs:
      build_and_deploy:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v2
          - uses: actions/setup-node@v1
            with:
              node-version: '14.17.3'
          - run: npm ci 
            working-directory: ./front
          - run: npm run build
            working-directory: ./front
          - uses: FirebaseExtended/action-hosting-deploy@v0
            with:
              repoToken: '${{ secrets.GITHUB_TOKEN }}'
              firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PROJECT }}'
              channelId: live
              projectId: project
              entryPoint: ./front