1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub ActionsでDeployしたら「Error: Process completed with exit code 130.」と言われた

Posted at

はじめに

今回はGitHub ActionsでDeploy時に起きたエラーについて書いていきます。

問題

エラーメッセージ
Error: Process completed with exit code 130.

スクリーンショット 2025-01-26 2.21.55.png

main.yml
  # デプロイジョブ - ビルド完了後に実行
  deploy:
    name: Deploy
    runs-on: ubuntu-latest
    needs: [build] # ビルドジョブの完了を待つ
    steps:
      # ソースコードのチェックアウト
      - name: Checkout code
        uses: actions/checkout@v3

      # Node.js環境のセットアップとキャッシュの設定
      - name: Setup Node.js and cache
        uses: actions/setup-node@v3
        with:
          node-version: "18"
          cache: "npm"

      # Firebase CLIツールのインストール
      - name: Install firebase-tools
        run: npm install --save-dev firebase-tools

      # Firebaseサービスアカウントキーのデコードと環境変数の設定
      - name: Decode Firebase service account key
        run: |
          echo "${{ secrets.FIREBASE_KEY }}" | base64 -d > ./firebase-key.json
          echo "GOOGLE_APPLICATION_CREDENTIALS=${{ github.workspace }}/firebase-key.json" >> $GITHUB_ENV
          
      # Firebaseプロジェクトを初期化
      - name: Initialize Firebase project
        run: ./node_modules/.bin/firebase init
        
      # Firebaseプロジェクトの切り替え
      - name: change space
        run: ./node_modules/.bin/firebase use ${{ secrets.FIREBASE_PROJECT_ID }}
        
      # Firebaseへのデプロイ実行
      - name: Deploy to Firebase Hosting
        env:
          # デプロイに必要な環境変数の設定
          GOOGLE_APPLICATION_CREDENTIALS: ${{ github.workspace }}/firebase-key.json
          FIREBASE_CLI_EXPERIMENTS: webframeworks
        run: |
          ./node_modules/.bin/firebase deploy
      # クリーンアップ:認証情報ファイルの削除
      # always()を使用して、ジョブが失敗しても必ず実行
      - name: delete GOOGLE_APPLICATION_CREDENTIALS
        run: rm $GOOGLE_APPLICATION_CREDENTIALS
        if: ${{ always() }}

解決方法

main.yml
  # デプロイジョブ - ビルド完了後に実行
  deploy:
    name: Deploy
    runs-on: ubuntu-latest
    needs: [build] # ビルドジョブの完了を待つ
    steps:
      # ソースコードのチェックアウト
      - name: Checkout code
        uses: actions/checkout@v3

      # Node.js環境のセットアップとキャッシュの設定
      - name: Setup Node.js and cache
        uses: actions/setup-node@v3
        with:
          node-version: "18"
          cache: "npm"

      # Firebase CLIツールのインストール
      - name: Install firebase-tools
        run: npm install --save-dev firebase-tools

      # Firebaseサービスアカウントキーのデコードと環境変数の設定
      - name: Decode Firebase service account key
        run: |
          echo "${{ secrets.FIREBASE_KEY }}" | base64 -d > ./firebase-key.json
          echo "GOOGLE_APPLICATION_CREDENTIALS=${{ github.workspace }}/firebase-key.json" >> $GITHUB_ENV
          
-     # Firebaseプロジェクトを初期化
-     - name: Initialize Firebase project
-       run: ./node_modules/.bin/firebase init
        
-     # Firebaseプロジェクトの切り替え
-     - name: change space
-       run: ./node_modules/.bin/firebase use ${{ secrets.FIREBASE_PROJECT_ID }}
        
+     # Firebaseプロジェクトの設定
+     - name: Set Firebase project
+       run: ./node_modules/.bin/firebase use --add ${{ secrets.FIREBASE_PROJECT_ID }}

      # Firebaseへのデプロイ実行
      - name: Deploy to Firebase Hosting
        env:
          # デプロイに必要な環境変数の設定
          GOOGLE_APPLICATION_CREDENTIALS: ${{ github.workspace }}/firebase-key.json
          FIREBASE_CLI_EXPERIMENTS: webframeworks
        run: |
          ./node_modules/.bin/firebase deploy
      # クリーンアップ:認証情報ファイルの削除
      # always()を使用して、ジョブが失敗しても必ず実行
      - name: delete GOOGLE_APPLICATION_CREDENTIALS
        run: rm $GOOGLE_APPLICATION_CREDENTIALS
        if: ${{ always() }}

おわりに

今回は前回に追加したfirebase initコマンドが対話的でタイムアウトし、CI/CDパイプラインに適していないことが原因のようでした。
これを修正するために、firebase initコマンドを上記のコードに置き換えることで解決出来ました。

前回にfirebase initを追加して解決したエラー▼▼▼

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?