【Vue.js】Viteで Vue.js + TypeScript のプロジェクトを作成、FirebaseへDeploy、GitHub Actionsで自動的にDeploy

プロジェクトの作成からDeployまでの備忘録。
※以下はIntelliJ IDEAのターミナルで実行している。

プロジェクトの作成

1.ターミナルで以下を実行する。

npm init vite@latest

2.プロジェクト名を入力する。
3.vue を選択する。

4.TypeScriptを利用したいため vue-ts を選択する。

5.表示された通り入力し、サーバを立ち上げる。

6.アクセスする。

7.IntelliJ IDEAの Open... からプロジェクトを読み込む。

FirebaseへのDeploy

Firebaseでプロジェクトを作成

続行して行くと作成できる。

端末へfirebase-tools のインストール

npm install -g firebase-tools

Firebaseとの連携

firebase login

Firebaseへの接続設定を追加

firebase init

Spaceキーで選択し、エンターを押す。 Hosting: Configure files for Firebase Hosting and (optionally) set up GitHub Action deploys

Use an existing project を選択。

先ほど作成したプロジェクトを選択。

What do you want to use as your public directory? は dist を入力。

pushしたときに自動的にDeployしたいため、以下はYesとする。
Set up automatic builds and deploys with GitHub?

リポジトリの情報 user/repository を入力する。

以下もYesとする。
Set up the workflow to run a build script before every deploy?

以下も例の通り入力する。

npm ci && npm run build

ここでnpm ciを忘れると依存関係を解決できずにBuildに失敗する。

これで firebase-hosting-pull-request.yml が作成される。

プルリクエストがマージされたときもDeployするようにしておく。

これで firebase-hosting-merge.yml が作成される。

これで初期化は完了。

後は以下を実行してFirebaseへDeployする。

npm run build
firebase deploy

Hosting URL: へ表示されたURLへアクセスするとDeployされていることが確認できる。

GitHub Actionsで自動的にDeploy

上記で作成されたFirebase関連のファイルをcommit、pushすると、GitHub上でworkflowが実行される。

ここでポイントなのが、前述のFirebaseとの連携で Actions secrets がGitHubへ登録されているため、スムーズに連携連携することができている。

Firebaseの画面を見るとGitHub ActionによりDeployされている。