لدي تكوين متعدد المواقع مع الأهداف. استخدام 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 ثانية.)
شكرا على التقرير. لقد حصلت على حل وسأخرجه في أسرع وقت ممكن.
أتلقى هذا الخطأ عند عدم استخدام القناة ولكن فقط نشر Firebase - استضافة فقط:
firebase deploy --only hosting:$CI_COMMIT_REF_SLUG -m "Tag $TAG Pipeline $CI_PIPELINE_ID, build $CI_BUILD_ID" --non-interactive
@ Mistic92 يرجى فتح مشكلة جديدة بمزيد من التفاصيل وخطوات إعادة الإنتاج.
التعليق الأكثر فائدة
شكرا على التقرير. لقد حصلت على حل وسأخرجه في أسرع وقت ممكن.