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

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