Firebase-tools: hosting:channel:deploy: Hosting-Konfigurationen sollten nur entweder "site" oder "target" enthalten, nicht beides.

Erstellt am 27. Okt. 2020  ·  3Kommentare  ·  Quelle: firebase/firebase-tools

Ich habe eine Multisite-Konfiguration mit Zielen. Die Verwendung von npx firebase-tools deploy --only hosting oder npx firebase-tools deploy --only hosting:bbbb funktioniert einwandfrei. Aber wenn ich die neue GitHub-Aktion verwende, schlägt sie in der Zeile fehl:

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

Das gleiche lokal auszuführen schlägt auf die gleiche Weise fehl. Der Fehler ist:

$ 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."
}

Beachten Sie, dass der Befehl, den ich dort verwendet habe, --only bbb hinzufügt. Der Befehl schlägt auf die gleiche Weise mit oder ohne das fehl.

Beachten Sie auch, dass mein firebase.json "site" überhaupt NICHT auflistet. Siehe unten:

.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": {...}
}

[ERFORDERLICH] Umgebungsinfo

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

Plattform: OSX, aber auch Standard-Image von GitHub Actions

[ERFORDERLICH] Testfall

Siehe oben.

[ERFORDERT] Schritte zum Reproduzieren

Siehe oben. Führen Sie den Befehl hosting:channel :deploy aus

[ERFORDERLICH] Erwartetes Verhalten

Es setzt ein

[ERFORDERLICH] Tatsächliches Verhalten

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

( --debug Flag fügt viel HTTP-Logging-Rauschen an der Vorderseite hinzu, aber es sind alles 200er.)

Hilfreichster Kommentar

Danke für den Bericht. Ich habe eine Lösung und werde sie so schnell wie möglich herausbringen.

Alle 3 Kommentare

Danke für den Bericht. Ich habe eine Lösung und werde sie so schnell wie möglich herausbringen.

Ich erhalte diesen Fehler, wenn ich den Kanal nicht verwende, sondern nur Firebase Deployment --only Hosting:. Ich führe es auf gitlab runner aus, wo ich die Site und das Ziel nach dem Branch-Namen habe
firebase deploy --only hosting:$CI_COMMIT_REF_SLUG -m "Tag $TAG Pipeline $CI_PIPELINE_ID, build $CI_BUILD_ID" --non-interactive

@Mistic92 Bitte öffnen Sie eine neue Ausgabe mit weiteren Details und Reproduktionsschritten.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen