Firebase-tools: hosting:channel:deploy: Konfigurasi hosting hanya boleh menyertakan "situs" atau \"target\", bukan keduanya.

Dibuat pada 27 Okt 2020  ·  3Komentar  ·  Sumber: firebase/firebase-tools

Saya memiliki konfigurasi multisite dengan target. Menggunakan npx firebase-tools deploy --only hosting atau npx firebase-tools deploy --only hosting:bbbb berfungsi dengan baik. Tetapi jika saya menggunakan tindakan GitHub baru, itu gagal di telepon:

 /usr/local/bin/npx firebase-tools hosting:channel:deploy pr22-blah --expires 30d --project blah-dev --json

Menjalankan hal yang sama secara lokal gagal dengan cara yang sama. Kesalahannya adalah:

$ npx firebase-tools hosting:channel:deploy pr22-blah --only bbb --expires 30d --project blah-dev --json
{
  "status": "error",
  "error": "Hosting configs should only include either \"site\" or \"target\", not both."
}

Perhatikan bahwa perintah yang saya gunakan di sana menambahkan --only bbb . Perintah gagal dengan cara yang sama dengan atau tanpa itu.

Perhatikan juga bahwa firebase.json TIDAK mencantumkan "site" sama sekali. Lihat di bawah:

.firebaserc:

{
  "projects": {
    "default": "blah-dev",
    "dev": "blah-dev",
    "prod": "blah-io"
  },
  "targets": {
    "blah-io": {
      "hosting": {
        "aaa": [
          "blah-aaa"
        ],
        "boilerplate": [
          "blah-boilerplate"
        ],
        "bbb": [
          "blah-bingo"
        ]
      }
    },
    "blah-dev": {
      "hosting": {
        "aaa": [
          "blah-aaa-dev"
        ],
        "boilerplate": [
          "blah-boilerplate-dev"
        ],
        "bbb": [
          "blah-bbb-dev"
        ]
      }
    }
  }
}

firebase.json

{
  "firestore": {...},
  "database": {...},
  "functions": {...},
  "hosting": [
    {
      "target": "aaa",
      "public": "packages/aaa/build",
      "ignore": [
        "firebase.json",
        "**/.*",
        "**/node_modules/**"
      ],
      "rewrites": [
        {
          "source": "**",
          "destination": "/index.html"
        }
      ]
    },
    {
      "target": "boilerplate",
      "public": "packages/boilerplate/build",
      "ignore": [
        "firebase.json",
        "**/.*",
        "**/node_modules/**"
      ],
      "rewrites": [
        {
          "source": "**",
          "destination": "/index.html"
        }
      ]
    },
    {
      "target": "bbb",
      "public": "packages/bbb/build",
      "ignore": [
        "firebase.json",
        "**/.*",
        "**/node_modules/**"
      ],
      "rewrites": [
        {
          "source": "**",
          "destination": "/index.html"
        }
      ]
    }
  ],
  "emulators": {...}
}

[DIBUTUHKAN] Info lingkungan

firebase-tools: . npx firebase-tools --version -> 8.14.0

Platform: OSX, tetapi juga gambar default GitHub Actions

[DIPERLUKAN] Uji kasus

Lihat di atas.

[DIPERLUKAN] Langkah-langkah untuk mereproduksi

Lihat di atas. Jalankan hosting:channel :deploy command

[DIPERLUKAN] Perilaku yang diharapkan

Ini menyebar

[DIPERLUKAN] Perilaku yang sebenarnya

{
  "status": "error",
  "error": "Hosting configs should only include either \"site\" or \"target\", not both."
}

( Bendera --debug menambahkan banyak suara logging HTTP di depan, tetapi semuanya 200-an.)

Komentar yang paling membantu

Terima kasih atas laporannya. Saya sudah memperbaikinya dan akan mengeluarkannya secepatnya.

Semua 3 komentar

Terima kasih atas laporannya. Saya sudah memperbaikinya dan akan mengeluarkannya secepatnya.

Saya mendapatkan kesalahan ini saat tidak menggunakan saluran tetapi hanya menggunakan firebase --only hosting:. Saya menjalankannya di gitlab runner di mana saya memiliki situs dan target berdasarkan nama cabang
firebase deploy --only hosting:$CI_COMMIT_REF_SLUG -m "Tag $TAG Pipeline $CI_PIPELINE_ID, build $CI_BUILD_ID" --non-interactive

@Mistic92 silakan buka masalah baru dengan detail lebih lanjut dan langkah-langkah reproduksi.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat