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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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