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

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

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

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

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

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

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

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

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

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

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

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

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

สภาพแวดล้อมการทดสอบและการประกันคุณภาพ

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

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

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

สภาพแวดล้อมการจัดวาง

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

ความแตกต่างที่พบบ่อยระหว่างสภาพแวดล้อมการจัดเตรียมและสภาพแวดล้อมการใช้งานจริงมีดังนี้

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

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

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

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

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

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

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