ภาพรวมของสภาพแวดล้อม

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

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

เกี่ยวกับสภาพแวดล้อม

ในการพัฒนาซอฟต์แวร์ สภาพแวดล้อมคือฮาร์ดแวร์และซอฟต์แวร์ทั้งหมดที่จำเป็นต่อการเรียกใช้อินสแตนซ์ของแอปพลิเคชันหรือระบบของแอปพลิเคชัน

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

กระบวนการพัฒนาฟีเจอร์หรือรุ่นผ่านสภาพแวดล้อมเหล่านี้ไปยังเวอร์ชันที่ใช้งานจริงเรียกว่าไปป์ไลน์การทำให้ใช้งานได้

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

ประเภทสภาพแวดล้อม

สภาพแวดล้อมประกอบด้วยโครงสร้างพื้นฐานที่จำเป็นต่อการเรียกใช้และรองรับแอปพลิเคชัน โค้ด และข้อมูลของแอปพลิเคชัน ขยายแต่ละคำต่อไปนี้เพื่อดูคำอธิบายของสภาพแวดล้อมทั่วไปบางประเภท รวมถึงเคล็ดลับเกี่ยวกับประเภทข้อมูลที่ใช้ในสภาพแวดล้อมแต่ละประเภท

สภาพแวดล้อมในการพัฒนา (Dev)

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

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

สภาพแวดล้อมการทดสอบและ QA

หากมีการทดสอบอัตโนมัติ คุณต้องมีสภาพแวดล้อมในการทำการทดสอบเหล่านั้น และคุณต้องรีเซ็ตข้อมูลทุกครั้งที่สร้างสภาพแวดล้อมการทดสอบ

หากคุณมีวิศวกร QA พวกเขาอาจต้องการสภาพแวดล้อมเดียวที่ทุกคนใช้ร่วมกัน หรืออาจต้องการสภาพแวดล้อมแยกต่างหากเพื่อทดสอบรุ่นที่อาจได้รับการเผยแพร่ใหม่

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

สภาพแวดล้อมในการทดลองใช้

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

ความแตกต่างที่พบบ่อยระหว่าง Staging กับ Prod มีดังนี้

  • สภาพแวดล้อมสำหรับการทดสอบอาจไม่มีฟีเจอร์หรือการผสานรวมบางอย่าง ซึ่งอาจทำให้เกิดผลข้างเคียง เช่น อาจมีการตั้งค่าการทดลองใช้ไม่ให้ส่งอีเมล

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

สภาพแวดล้อมเวอร์ชันที่ใช้งานจริง (Prod)

คุณต้องมีสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์เดียวสำหรับแต่ละแอปพลิเคชันที่ดูแลรักษา ซึ่งเป็นอินสแตนซ์ที่ผู้ใช้โต้ตอบด้วย

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

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

ขั้นตอนถัดไป