Firebase-tools: الاستضافة: القناة: النشر: يجب أن تتضمن تكوينات الاستضافة إما "الموقع" أو \ "الهدف \" ، وليس كليهما.

تم إنشاؤها على ٢٧ أكتوبر ٢٠٢٠  ·  3تعليقات  ·  مصدر: firebase/firebase-tools

لدي تكوين متعدد المواقع مع الأهداف. استخدام npx firebase-tools deploy --only hosting أو npx firebase-tools deploy --only hosting:bbbb يعمل بشكل جيد. ولكن إذا استخدمت إجراء GitHub الجديد ، فسوف يفشل على الخط:

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

تشغيل نفس الشيء محليًا يفشل بنفس الطريقة. الخطأ هو:

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

لاحظ أن الأمر الذي استخدمته هناك يضيف --only bbb . فشل الأمر بنفس الطريقة مع أو بدون ذلك.

لاحظ أيضًا أن firebase.json لا يُدرج "site" على الإطلاق. انظر أدناه:

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

[مطلوب] معلومات البيئة

أدوات Firebase:. npx firebase-tools --version -> 8.14.0

النظام الأساسي: OSX ، ولكن أيضًا الصورة الافتراضية لـ GitHub Actions

[مطلوب] حالة الاختبار

أنظر فوق.

[مطلوب] خطوات التكاثر

أنظر فوق. قم بتشغيل الاستضافة: channel : publish command

[مطلوب] السلوك المتوقع

تنتشر

[مطلوب] السلوك الفعلي

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

(تضيف علامة --debug الكثير من ضوضاء تسجيل HTTP في المقدمة ، لكنها كلها 200 ثانية.)

التعليق الأكثر فائدة

شكرا على التقرير. لقد حصلت على حل وسأخرجه في أسرع وقت ممكن.

ال 3 كومينتر

شكرا على التقرير. لقد حصلت على حل وسأخرجه في أسرع وقت ممكن.

أتلقى هذا الخطأ عند عدم استخدام القناة ولكن فقط نشر Firebase - استضافة فقط:. أنا أقوم بتشغيله على gitlab runner حيث لدي موقع وهدف حسب اسم الفرع
firebase deploy --only hosting:$CI_COMMIT_REF_SLUG -m "Tag $TAG Pipeline $CI_PIPELINE_ID, build $CI_BUILD_ID" --non-interactive

@ Mistic92 يرجى فتح مشكلة جديدة بمزيد من التفاصيل وخطوات إعادة الإنتاج.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات