สำหรับแอปเวอร์ชันที่ใช้งานจริง คุณต้องตั้งค่าเวิร์กโฟลว์การพัฒนาที่ชัดเจน โดยเฉพาะ
หากมีผู้ทำงานในแอปมากกว่า 1 คน เวิร์กโฟลว์การพัฒนา
มักเกี่ยวข้องกับการตั้งค่าและการจัดการสภาพแวดล้อมหลายรายการ
Firebase มีการสนับสนุนเวิร์กโฟลว์ของนักพัฒนาซอฟต์แวร์และสภาพแวดล้อมที่เกี่ยวข้องในระดับต่างๆ
เมื่อคุ้นเคยกับคำศัพท์ในเวิร์กโฟลว์ของนักพัฒนาแอป
และสมมติฐานในหน้านี้แล้ว โปรดดูแนวทางปฏิบัติแนะนำทั่วไป
และ
หลักเกณฑ์ด้านความปลอดภัยทั่วไป
สำหรับการตั้งค่าโปรเจ็กต์ Firebase และแอป
เกี่ยวกับสภาพแวดล้อม
ในการพัฒนาซอฟต์แวร์ สภาพแวดล้อมคือฮาร์ดแวร์และซอฟต์แวร์ทั้งหมด
ที่จำเป็นต่อการเรียกใช้อินสแตนซ์ของแอปพลิเคชันหรือระบบ
แอปพลิเคชัน
ชุดสภาพแวดล้อมช่วยให้แยกการพัฒนาและการทดสอบซอฟต์แวร์ออกจากกัน
โดยไม่ส่งผลกระทบต่อผู้ใช้ ดังที่แสดงในแผนภาพด้านล่าง สภาพแวดล้อมในระดับสูงถือเป็นก่อนเวอร์ชันที่ใช้งานจริงหรือเวอร์ชันที่ใช้งานจริง และคุณมีสภาพแวดล้อมก่อนเวอร์ชันที่ใช้งานจริงได้มากเท่าที่ต้องการ นอกจากนี้ ไดอะแกรมยังอธิบาย
แนวทางปฏิบัติและฟีเจอร์ทั่วไปที่เชื่อมโยงกับสภาพแวดล้อมแต่ละประเภท
ด้วย
กระบวนการพัฒนาฟีเจอร์หรือรุ่นผ่านสภาพแวดล้อมเหล่านี้ไปจนถึง
การใช้งานจริงเรียกว่าไปป์ไลน์การติดตั้งใช้งาน

ประเภทของสภาพแวดล้อม
สภาพแวดล้อมประกอบด้วยโครงสร้างพื้นฐานที่คุณต้องใช้เพื่อเรียกใช้
และรองรับแอปพลิเคชัน โค้ด และข้อมูลของแอปพลิเคชัน ขยายข้อกำหนดแต่ละข้อต่อไปนี้เพื่อดูคำอธิบายสภาพแวดล้อมทั่วไปบางอย่าง รวมถึงเคล็ดลับเกี่ยวกับประเภทข้อมูลที่ใช้ในสภาพแวดล้อมแต่ละประเภท
สภาพแวดล้อมการพัฒนา (dev)
นักพัฒนาแอปทุกคนต้องมีสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ ซึ่งเป็นพื้นที่ที่ปลอดภัยและแยกต่างหากเพื่อทดสอบการเปลี่ยนแปลงขณะที่กำลังสร้าง เราขอแนะนำว่านักพัฒนาแอปทุกคนในทีมควรมีสิทธิ์เข้าถึง
สภาพแวดล้อมการพัฒนาของตนเอง นอกจากนี้ หากสภาพแวดล้อมการพัฒนาเป็นอินสแตนซ์ในเครื่อง
นักพัฒนาซอฟต์แวร์จะทำซ้ำได้เร็วขึ้นมาก
ข้อมูลในสภาพแวดล้อมการพัฒนาจะเริ่มต้นด้วยข้อมูลที่โดยทั่วไปคล้ายกับ
ข้อมูลการผลิต แต่ไม่ควรมีข้อมูลของผู้ใช้จริง นอกจากนี้ อาจมี
ข้อมูลที่เคยทำให้เกิดข้อบกพร่องในอดีต เช่น สตริงที่ยาวมาก
สภาพแวดล้อมการทดสอบและ QA
หากมีการทดสอบอัตโนมัติ คุณจะต้องมีสภาพแวดล้อมที่จะใช้เรียกใช้การทดสอบเหล่านั้น และต้องรีเซ็ตข้อมูลทุกครั้งที่สร้างสภาพแวดล้อมการทดสอบ
หากมีวิศวกร QA คุณอาจต้องมีสภาพแวดล้อมเดียวที่ทุกคนใช้ร่วมกัน หรืออาจต้องมีสภาพแวดล้อมเฉพาะบุคคลเพื่อทดสอบรุ่นที่อาจได้รับการเผยแพร่ใหม่
ข้อมูลในสภาพแวดล้อมการทดสอบและการประกันคุณภาพจะได้รับการเริ่มต้นด้วยข้อมูลคุณภาพซึ่ง
โดยทั่วไปแสดงถึงข้อมูลการผลิต พร้อมด้วยข้อมูลที่แสดงถึง
กรณีที่ซับซ้อนและตัวอย่างข้อมูลที่ทำให้เกิดข้อบกพร่องในอดีต
สภาพแวดล้อมการจัดเตรียม
หากต้องการทดสอบการทำงานของรุ่นที่ใช้งานจริงอย่างสมจริง คุณต้องมีสภาพแวดล้อมการจัดเตรียมที่เลียนแบบโครงสร้างพื้นฐานที่ใช้งานจริงให้ได้มากที่สุด การมีอินสแตนซ์การจัดเตรียมหลายรายการเป็นเรื่องปกติหากคุณต้องการทดสอบการผสานรวมที่เฉพาะเจาะจงแยกกัน
ความแตกต่างที่พบบ่อยระหว่างสภาพแวดล้อมการจัดเตรียมและสภาพแวดล้อมการใช้งานจริงมีดังนี้
สภาพแวดล้อมการจัดเตรียมอาจไม่มีฟีเจอร์หรือการผสานรวมบางอย่างที่อาจทำให้เกิดผลข้างเคียง
เช่น อาจตั้งค่าสภาพแวดล้อมการจัดเตรียมให้ไม่ส่งอีเมล
การจัดเตรียมอาจมีข้อมูลที่ลบข้อมูลระบุตัวบุคคลแล้ว ข้อมูลอาจเป็นข้อมูลจำลอง แต่ควรเป็นข้อมูลที่สมจริง
เนื่องจากสภาพแวดล้อมการทดสอบเป็นที่ที่ใช้แก้ไขปัญหาได้อย่างปลอดภัย คุณจึงอาจให้สิทธิ์เข้าถึงข้อมูลการทดสอบแก่ทีมในวงกว้างกว่าข้อมูลเวอร์ชันที่ใช้งานจริง ดังนั้น คุณจึงไม่ควรใช้ข้อมูลผู้ใช้จริงในสภาพแวดล้อมการจัดเตรียมเพื่อปกป้องความเป็นส่วนตัวของผู้ใช้
สภาพแวดล้อมที่ใช้งานจริง (prod)
คุณต้องมีสภาพแวดล้อมเวอร์ชันที่ใช้งานจริงเพียงรายการเดียวสำหรับแต่ละแอปพลิเคชันที่คุณดูแล
นี่คืออินสแตนซ์ที่ผู้ใช้โต้ตอบด้วย
ข้อมูลในสภาพแวดล้อมการใช้งานจริงมีความสำคัญมาก ซึ่งแตกต่างจากสภาพแวดล้อมอื่นๆ ที่คุณสามารถเปลี่ยนแปลง ลบ และ/หรือสร้างข้อมูลใหม่ได้ การสูญเสียหรือการเปลี่ยนแปลงข้อมูลการใช้งานจริงจะส่งผลกระทบต่อผู้ใช้โดยตรง
ในคอนโซล Firebase เราขอแนะนำให้ติดแท็กโปรเจ็กต์ Firebase ที่เชื่อมโยง
กับสภาพแวดล้อมการผลิตเป็นประเภทสภาพแวดล้อม"การผลิต" แท็กนี้
จะช่วยเตือนคุณและเพื่อนร่วมทีมว่าการเปลี่ยนแปลงใดๆ อาจส่งผลต่อ
แอปเวอร์ชันที่ใช้งานจริงที่เชื่อมโยงและข้อมูลของแอป
ขั้นตอนถัดไป