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

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