เผยแพร่ส่วนขยาย

หน้านี้จะอธิบายวิธีเผยแพร่ส่วนขยายในฮับส่วนขยาย

ก่อนเริ่มต้น

หากต้องการเผยแพร่ส่วนขยาย คุณจะต้องทำดังนี้ ลงทะเบียนเป็นผู้เผยแพร่ส่วนขยาย

แหล่งที่มาที่ยืนยันได้

ส่วนขยายทั้งหมดที่เผยแพร่ในฮับส่วนขยายต้องมีประเภทที่ยืนยันได้แบบสาธารณะ แหล่งที่มา แทนที่จะอัปโหลดซอร์สโค้ดของส่วนขยายไปยังส่วนขยายโดยตรง Hub ให้คุณระบุตำแหน่งต้นทางแทน แล้วฮับส่วนขยายจะดาวน์โหลด และต่อยอดจากจุดนั้น

ซึ่งหมายถึงการทำให้ซอร์สโค้ดของส่วนขยายของคุณใช้ได้แบบสาธารณะ ที่เก็บ GitHub

การอัปโหลดจากแหล่งที่มาที่ยืนยันได้มีประโยชน์หลายประการดังนี้

  • ผู้ใช้สามารถตรวจสอบซอร์สโค้ดของการแก้ไขที่เฉพาะเจาะจงของส่วนขยายได้ ที่จะติดตั้ง
  • คุณสามารถมั่นใจได้ว่าคุณจะอัปโหลดเฉพาะสิ่งที่คุณตั้งใจจะอัปโหลดเท่านั้น ตัวอย่างเช่น อยู่ในระหว่างดำเนินการ หรือไฟล์หลงเหลือจากการพัฒนา

รอบการพัฒนาที่แนะนำ

เครื่องมือการพัฒนา Firebase Extensions รองรับการอัปโหลดเวอร์ชันก่อนเผยแพร่ ส่วนขยายโดยอัตโนมัติ ซึ่งทำให้คุณทดสอบส่วนขยายและ กระบวนการติดตั้งส่วนขยายในสภาพแวดล้อมเดียวกันที่จะ ได้รับการปล่อยตัวในท้ายที่สุด

ความสามารถนี้ทําให้เกิดวงจรการพัฒนาในลักษณะต่อไปนี้

  1. พัฒนาและทำซ้ำส่วนขยายอย่างรวดเร็วโดยใช้ ชุดโปรแกรมจำลอง Firebase

  2. ทดสอบส่วนขยายในโปรเจ็กต์จริงโดยการติดตั้งจากต้นทางในเครื่อง โดยทำดังนี้

    firebase ext:install /path/to/extension
    firebase deploy --only extensions
    
  3. อัปโหลดเวอร์ชันก่อนเผยแพร่ไปยังฮับส่วนขยาย (ดูด้านล่าง) เผยแพร่ ของลิงก์การติดตั้งเพื่อการทดสอบที่กว้างขึ้น และทำซ้ำโดยการอัปโหลดเพิ่มเติม เวอร์ชันก่อนเผยแพร่ตามความจําเป็น

  4. อัปโหลดเวอร์ชันเสถียรและเวอร์ชันสุดท้ายไปยังฮับส่วนขยาย (ดูด้านล่าง) แล้วส่ง เพื่อขอรับการตรวจสอบ หากส่วนขยายผ่านการตรวจสอบ ระบบจะเผยแพร่ใน ฮับส่วนขยาย

  5. เพิ่มหมายเลขเวอร์ชันใน extension.yaml และทำซ้ำรอบนี้สำหรับ ส่วนขยายเวอร์ชันถัดไป

อัปโหลดส่วนขยายใหม่

วิธีอัปโหลดส่วนขยายเป็นครั้งแรก

  1. ไม่บังคับ: คอมมิตโค้ดไปยังที่เก็บ GitHub สาธารณะ

  2. เรียกใช้คำสั่ง ext:dev:upload ของ Firebase CLI ดังนี้

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id
    

    แหล่งที่มาในเครื่อง

    cd /path/to/extension
    firebase ext:dev:upload your_publisher_id/your_extension_id --local
    

    ในการเรียกใช้คำสั่ง คุณต้องระบุสิ่งต่อไปนี้

    • รหัสผู้เผยแพร่โฆษณาที่คุณลงทะเบียน

    • สตริงรหัสที่จะระบุส่วนขยาย ตั้งชื่อส่วนขยายของคุณด้วย โดยใช้รูปแบบต่อไปนี้ firebase-product-description-of-tasks-performed. เช่น firestore-bigquery-export

    คำสั่งจะแสดงข้อมูลเพิ่มเติมให้คุณทราบ:

    • หากอัปโหลดจาก GitHub ให้ทำดังนี้

      • URL ไปยังที่เก็บของส่วนขยายใน GitHub โปรดทราบว่า สามารถมีส่วนขยายได้หลายรายการ หากแต่ละส่วนขยายมี รากที่ไม่ซ้ำ

        เมื่อคุณอัปโหลดส่วนขยายใหม่เป็นครั้งแรก ที่เก็บจะ เป็นแหล่งที่มา Canonical ของส่วนขยายได้

      • ไดเรกทอรีในที่เก็บที่มีส่วนขยายของคุณ

      • การอ้างอิง Git ของคอมมิตที่คุณต้องการสร้างเวอร์ชันส่วนขยาย แหล่งที่มา ซึ่งอาจเป็นคอมมิตแฮช แท็ก หรือชื่อสาขา

    • ช่วงเผยแพร่ของเวอร์ชันที่คุณกำลังอัปโหลด

      ขั้นตอน alpha, beta และ rc (ตัวเลือกการเปิดตัว) มีไว้สำหรับการอัปโหลด เวอร์ชันก่อนเผยแพร่เพื่อให้ผู้ทดสอบติดตั้งได้ ใช้หนึ่งในขั้นตอนเหล่านี้สำหรับ การอัปโหลดครั้งแรกของส่วนขยายใหม่

      ระยะ stable ใช้สำหรับการเผยแพร่รุ่นสาธารณะใน ฮับส่วนขยาย การอัปโหลดรุ่น stable จะเริ่มต้นโดยอัตโนมัติ หากผ่านการตรวจสอบ ส่วนขยายจะเผยแพร่

    โปรดทราบว่าคุณไม่ได้ระบุหมายเลขเวอร์ชัน เพราะค่านี้มาจาก extension.yaml ไฟล์ เมื่อคุณอัปโหลดส่วนขยายเวอร์ชันทดลอง ขั้นตอนและหมายเลขการอัปโหลดจะต่อท้ายเวอร์ชัน ตัวอย่างเช่น หาก extension.yaml ระบุเวอร์ชัน 1.0.1 และคุณอัปโหลดรุ่นที่อาจได้รับการเผยแพร่ จะทำให้เป็นเวอร์ชัน 1.0.1-rc.0 อัปโหลดรุ่นอื่น ตัวเลือกของเวอร์ชันเดียวกัน จะเพิ่มการนับโดยอัตโนมัติ ทำให้เกิด 1.0.1-rc.1 เป็นเช่นนี้ไปเรื่อยๆ

เมื่อคุณอัปโหลดส่วนขยายรุ่นทดลองแล้ว คุณก็สามารถแชร์ กับผู้อื่นเพื่อทำการทดสอบ ผู้ใช้สามารถติดตั้งส่วนขยายของคุณได้ทั้งใน 2 แบบ ด้วยวิธีต่อไปนี้

  • ด้วยคอนโซล: ผู้ใช้สามารถติดตั้งส่วนขยายได้โดยคลิกลิงก์ โดยใช้รูปแบบต่อไปนี้

    https://console.firebase.google.com/project/_/extensions/install?ref=your_publisher_id/your_extension_id@version

    คุณจะแชร์ลิงก์โดยตรงกับผู้ทดสอบได้

  • มี CLI: ผู้ใช้สามารถติดตั้งส่วนขยายได้โดยการส่งผ่านส่วนขยาย รหัสสตริงคำสั่ง ext:install ดังนี้

    firebase ext:install your_publisher_id/your_extension_id@version \
        --project=destination_project_id
    

อัปโหลดเวอร์ชันอัปเดต

หลังจากอัปโหลดส่วนขยายเวอร์ชันแรกแล้ว คุณจะสามารถอัปโหลดการอัปเดตได้ เพื่อแก้ไขปัญหา เพิ่มฟีเจอร์ หรือเลื่อนขั้นการเปิดตัว เมื่อคุณอัปโหลดเวอร์ชันใหม่ ผู้ใช้ที่มีบัญชี Google เวอร์ชันเก่า ระบบจะแจ้งให้ส่วนขยายที่ติดตั้งในคอนโซล Firebase อัปเกรด

หากต้องการอัปโหลดการอัปเดต ให้ทำดังนี้

  1. ไม่บังคับ: ส่งโค้ดของคุณไปยังที่เก็บ Git สาธารณะ

  2. เรียกใช้คำสั่ง ext:dev:upload ของ Firebase CLI ดังนี้

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id
    

    ในครั้งนี้คุณจะไม่ได้รับข้อความแจ้งให้ระบุที่เก็บ GitHub หรือ ไดเรกทอรีรากของส่วนขยาย เนื่องจากมีการกำหนดค่าสำหรับ ส่วนขยาย หากคุณเปลี่ยนโครงสร้างภายในโครงสร้างที่เก็บแล้ว หรือ ย้ายข้อมูลไปยังที่เก็บใหม่ คุณสามารถเปลี่ยนรายการเหล่านี้ได้โดยใช้คำสั่ง อาร์กิวเมนต์ --root และ --repo

    แหล่งที่มาในเครื่อง

    cd /path/to/extension
    firebase ext:dev:upload your_publisher_id/your_extension_id --local
    

ส่งส่วนขยายสำหรับการเผยแพร่

เมื่อพร้อมที่จะเผยแพร่ส่วนขยายต่อสาธารณะ ให้ทำดังนี้

  1. คอมมิตโค้ดของคุณไปยังที่เก็บ Git สาธารณะ (ต้องระบุสำหรับรุ่นที่เผยแพร่ต่อสาธารณะ)

  2. เรียกใช้คำสั่ง ext:dev:upload ของ Firebase CLI โดยระบุ stable เป็น ช่วงเปิดตัว:

    firebase ext:dev:upload your_publisher_id/your_extension_id
    
  3. หากคุณเคยเผยแพร่ส่วนขยายเวอร์ชันหนึ่ง การอัปโหลดส่วนขยาย เวอร์ชันเสถียรจะส่งส่วนขยายเข้ารับการตรวจสอบโดยอัตโนมัติ

    หากคุณอัปโหลดรุ่นที่เสถียรรุ่นแรกของส่วนขยาย ให้ค้นหาส่วนขยายใน แดชบอร์ดผู้เผยแพร่โฆษณา แล้วคลิกเผยแพร่ไปยังฮับส่วนขยาย

เมื่อส่งแล้ว การตรวจสอบอาจใช้เวลา 2-3 วัน หากได้รับการยอมรับ ส่วนขยายจะ เผยแพร่ไปยังฮับส่วนขยายแล้ว หากถูกปฏิเสธ คุณจะได้รับข้อความอธิบาย เหตุผล คุณสามารถจัดการปัญหาที่รายงานและส่งเข้ารับการตรวจสอบอีกครั้งได้

หากต้องการเร่งการตรวจสอบและเพิ่มโอกาสในการผ่านการทดสอบครั้งแรก ก่อนส่ง ให้ตรวจสอบข้อมูลต่อไปนี้อีกครั้ง

  • คุณได้ทดสอบส่วนขยายและขั้นตอนการติดตั้งอย่างละเอียดแล้ว
  • เอกสารของคุณครบถ้วนและถูกต้อง และแสดงผลได้ดีใน Firebase คอนโซลผู้ดูแลระบบ
  • ชื่อและการสร้างแบรนด์ผู้เผยแพร่โฆษณาของคุณระบุตัวคุณอย่างชัดเจนและถูกต้อง ผู้เผยแพร่โฆษณา
  • ชื่อ คำอธิบาย และไอคอนของส่วนขยายอย่างชัดเจนและถูกต้อง วัตถุประสงค์ของส่วนขยายของคุณ
  • คุณได้ใช้แท็กที่มีประโยชน์และถูกต้อง
  • คุณได้ประกาศใน extension.yaml API ของ Google และที่ไม่ใช่ของ Google ทั้งหมดที่ใช้ และเหตุการณ์ทุกประเภทที่ส่วนขยายจะปล่อยออกมา
  • คุณขอสิทธิ์เข้าถึงเฉพาะบทบาทที่จำเป็นสำหรับส่วนขยายในการ และคุณได้อธิบายให้ผู้ใช้ทราบอย่างชัดเจนแล้วว่าทำไมคุณจึงต้องการการเข้าถึงดังกล่าว
  • ไฟล์ต้นฉบับได้รับอนุญาตอย่างชัดเจนภายใต้ข้อกำหนดของ Apache-2.0

จัดการส่วนขยายที่อัปโหลดและเผยแพร่แล้ว

แสดงรายการส่วนขยายที่คุณอัปโหลด

หากต้องการแสดงส่วนขยายที่คุณอัปโหลดไว้ภายใต้รหัสผู้เผยแพร่โฆษณา ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้ ดังต่อไปนี้:

แดชบอร์ดผู้เผยแพร่โฆษณา

ดูได้ในแดชบอร์ดผู้เผยแพร่โฆษณา

Firebase CLI

เรียกใช้คำสั่ง ext:dev:list

firebase ext:dev:list your_publisher_id

ดูการใช้ส่วนขยายที่คุณอัปโหลด

หากต้องการดูการใช้ส่วนขยายที่คุณอัปโหลดไว้ภายใต้รหัสผู้เผยแพร่โฆษณา ให้ ดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้

แดชบอร์ดผู้เผยแพร่โฆษณา

แดชบอร์ดผู้เผยแพร่โฆษณามีเมตริกการใช้งานสะสมสำหรับ ส่วนขยายและเมตริกแต่ละรายการสำหรับส่วนขยายแต่ละรายการ

Firebase CLI

เรียกใช้คำสั่ง ext:dev:usage

firebase ext:dev:usage your_publisher_id

เลิกใช้งานส่วนขยายเวอร์ชันหนึ่ง

เมื่อถึงเวลาหนึ่ง คุณอาจต้องการเลิกใช้งานส่วนขยายเวอร์ชันเก่า สำหรับ เช่น หากคุณเผยแพร่เวอร์ชันใหม่ที่แก้ไขข้อบกพร่องร้ายแรงหรืออัปเดต ที่มีการอัปเดตความปลอดภัยที่สำคัญ คุณควรป้องกันไม่ให้ ไม่ให้ผู้ใช้ติดตั้งเวอร์ชันเก่า และเพื่อกระตุ้นให้ผู้ใช้เดิมทำการอัปเกรด

หากต้องการเลิกใช้งานส่วนขยายเวอร์ชันใดเวอร์ชันหนึ่ง ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้

แดชบอร์ดผู้เผยแพร่โฆษณา

  1. ในแดชบอร์ดผู้เผยแพร่โฆษณา คลิกส่วนขยายเพื่อเปิด รายละเอียด
  2. เลือกเวอร์ชันที่ต้องการเลิกใช้งาน
  3. คลิกเลิกใช้งานเวอร์ชัน

Firebase CLI

เรียกใช้คำสั่ง ext:dev:deprecate

firebase ext:dev:deprecate your_publisher_id/your_extension_id versions \
    [--message "deprecation_message"]

คุณจะระบุเวอร์ชันเดียวหรือช่วงของเวอร์ชันได้ ตัวอย่าง

  • 1.0.2
  • 1.1.0-1.1.7
  • <1.2.0
  • 1.1.*

ส่วนขยายเวอร์ชันที่เลิกใช้งานแล้วจะไม่แสดงในฮับส่วนขยายและไม่สามารถ สามารถติดตั้งได้ ผู้ใช้ที่มีโปรเจ็กต์ติดตั้งเวอร์ชันที่เลิกใช้งานแล้วจะเห็น ข้อความที่กระตุ้นให้อัปเกรด ผู้ดูแลระบบยังสามารถใช้และกำหนดค่า ส่วนขยายได้ในระหว่างนี้

หากเลิกใช้งานส่วนขยายทุกเวอร์ชัน จะถือว่าส่วนขยายดังกล่าว เลิกใช้งานแล้ว และจะนำออกจากฮับส่วนขยาย การอัปโหลดเวอร์ชันใหม่ ของส่วนขยายที่เลิกใช้งานแล้วจะเริ่มต้นการตรวจสอบโดยอัตโนมัติ และเมื่อ ให้เผยแพร่ในฮับส่วนขยายอีกครั้ง

หากต้องการเปลี่ยนกลับการเลิกใช้งาน ให้ใช้หน้าแดชบอร์ดของผู้เผยแพร่โฆษณา หรือเรียกใช้ Firebase CLI คำสั่ง ext:dev:undeprecate:

firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions

ภาคผนวก: การแก้ปัญหาข้อผิดพลาดของบิลด์

เมื่อคุณอัปโหลดส่วนขยาย แบ็กเอนด์จะสร้างซอร์สโค้ดของคุณโดยใช้ กระบวนการต่อไปนี้

  1. โคลนที่เก็บ GitHub และตรวจสอบการอ้างอิงแหล่งที่มาที่ระบุ

  2. ติดตั้งทรัพยากร Dependency ของ NPM โดยการเรียกใช้ npm clean-install ในทุกฟังก์ชัน ไดเรกทอรีต้นทางที่ระบุใน extension.yaml (ดู sourceDirectory ใน ทรัพยากร Cloud Function)

    โปรดทราบดังต่อไปนี้

    • ไฟล์ package.json แต่ละไฟล์ต้องมี package-lock.json ที่เกี่ยวข้อง ดูข้อมูลเพิ่มเติมได้ที่ npm-ci

    • สคริปต์หลังการติดตั้งจะไม่ทำงานระหว่างการติดตั้งทรัพยากร Dependency หากการสร้างซอร์สโค้ดของคุณใช้สคริปต์หลังการติดตั้ง ก็เปลี่ยนโครงสร้างภายในโค้ดก่อนที่จะอัปโหลดได้

  3. สร้างโค้ดโดยเรียกใช้ npm run build ในแหล่งที่มาของฟังก์ชันทั้งหมด ที่ระบุใน extension.yaml

เฉพาะไดเรกทอรีรากของส่วนขยายเท่านั้นที่จะได้รับการบันทึกในส่วนขยายสุดท้าย แพ็กเกจที่จะแชร์

หากคุณพบข้อผิดพลาดของบิลด์ขณะอัปโหลดส่วนขยาย ให้จำลองบิลด์ ข้างต้นภายในไดเรกทอรีใหม่ได้จนกว่าจะไม่มีข้อผิดพลาด จากนั้นลอง อีกครั้ง