Firebase-tools: host:channel:deploy : les configurations d'hébergement ne doivent inclure que "site" ou \"target\", pas les deux.

Créé le 27 oct. 2020  ·  3Commentaires  ·  Source: firebase/firebase-tools

J'ai une configuration multisite avec des cibles. Utiliser npx firebase-tools deploy --only hosting ou npx firebase-tools deploy --only hosting:bbbb fonctionne très bien. Mais si j'utilise la nouvelle action GitHub, elle échoue sur la ligne :

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

Exécuter la même chose localement échoue de la même manière. L'erreur est :

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

Notez que la commande que j'ai utilisée là ajoute --only bbb . La commande échoue de la même manière avec ou sans cela.

Notez également que mon firebase.json ne répertorie PAS du tout "site" . Voir ci-dessous:

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

[OBLIGATOIRE] Informations sur l'environnement

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

Plateforme : OSX, mais aussi image par défaut de GitHub Actions

[OBLIGATOIRE] Scénario de test

Voir au dessus.

[OBLIGATOIRE] Étapes à reproduire

Voir au dessus. Exécutez la commande host:channel :deploy

[OBLIGATOIRE] Comportement attendu

Il déploie

[OBLIGATOIRE] Comportement réel

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

(Le drapeau --debug ajoute beaucoup de bruit de journalisation HTTP à l'avant, mais ce n'est que des 200.)

Commentaire le plus utile

Merci pour le rapport. J'ai un correctif et je le sortirai dès que possible.

Tous les 3 commentaires

Merci pour le rapport. J'ai un correctif et je le sortirai dès que possible.

J'obtiens cette erreur lorsque je n'utilise pas le canal mais que le déploiement de firebase --only host :. Je l'exécute sur gitlab runner où j'ai un site et une cible par nom de branche
firebase deploy --only hosting:$CI_COMMIT_REF_SLUG -m "Tag $TAG Pipeline $CI_PIPELINE_ID, build $CI_BUILD_ID" --non-interactive

@ Mistic92, veuillez ouvrir un nouveau numéro avec plus de détails et d'étapes de reproduction.

Cette page vous a été utile?
0 / 5 - 0 notes