มีวิธีที่สามดังที่คุณพูดไว้ ฉันคิดว่าคุณกำลังผสมการพัฒนาการทดสอบและการปรับใช้ ฉันเสนอให้ดู SDLC ทั้งหมดโดยรวมก่อนเพื่อทำความเข้าใจว่าคุณพยายามทำอะไร นี่เป็นหัวข้อใหญ่ แต่ฉันจะทำให้ดีที่สุดเพื่อสรุป
TL; DR;
ในระยะสั้นคุณต้องแยก:
- รหัสของคุณจาก
- การกำหนดค่าแอปพลิเคชันจาก
- การกำหนดค่าสภาพแวดล้อมระบบ
แต่ละคนต้องเป็นอิสระจากกันและเหมาะสม:
- ควบคุมเวอร์ชัน
- การทดสอบ
- deployable
รุ่นที่ยาวกว่า
ก่อนอื่นคุณมีแอปพลิเคชันที่ประกอบด้วยรหัสและการกำหนดค่า (ชุดแยก) สิ่งนี้จำเป็นต้องได้รับการทดสอบสำหรับทั้งบิลด์และฟังก์ชั่นที่ตั้งใจ - ซึ่งเรียกว่าการรวมอย่างต่อเนื่อง (CI) มีผู้ให้บริการมากมายทั้งออนไลน์และในพื้นที่ - ตัวอย่างเช่นCircleCIสำหรับผู้ให้บริการคลาวด์ที่เชื่อมโยงไปยังพื้นที่เก็บข้อมูลของคุณและสร้างและทดสอบเมื่อใดก็ตามที่คุณกระทำ หากพื้นที่เก็บข้อมูลของคุณอยู่ในระยะเริ่มต้นและไม่สามารถใช้ผู้ให้บริการคลาวด์ได้เช่นJenkinsจะเทียบเท่า หากใบสมัครของคุณเป็นแบบมาตรฐานอาจมีอิมเมจ Docker ที่มีอยู่ซึ่งบริการ CI สามารถใช้ได้ หากไม่ใช่คุณจะต้องสร้างขึ้นมาหรือสร้างคลัสเตอร์ขึ้นมาเพื่อให้สามารถปรับใช้รหัสแอปพลิเคชันและการกำหนดค่าของคุณได้ กำหนดค่าอย่างถูกต้องคุณจะมีสถิติมากมายเกี่ยวกับคุณภาพของรหัสแอปพลิเคชันของคุณ
ถัดไปเมื่อคุณพอใจกับการทำงานและความถูกต้องของแอปพลิเคชันของคุณแล้วควรติดแท็ก codebase อย่างเหมาะสมสำหรับการเปิดตัวเฉพาะ โครงสร้างนี้ควรปรับใช้กับสภาพแวดล้อมการทดสอบ โปรดทราบว่ารหัสจะเหมือนกับที่ทดสอบใน CI ของคุณ (พิสูจน์ได้ว่าถ้าคุณทำอย่างถูกต้อง) แต่การกำหนดค่าของคุณอาจแตกต่างกัน ผู้ให้บริการ CI บางรายสามารถเสนอขั้นตอนนี้เพื่อให้คุณสามารถทดสอบการปรับใช้แอปพลิเคชันแบบแพคเกจและการกำหนดค่าแบบไม่ต่อเนื่อง โดยทั่วไปแล้วขั้นตอนนี้จะรวมถึงการทดสอบการทำงานของผู้ใช้ (สำหรับฟังก์ชันการทำงานใหม่) รวมถึงการทดสอบอัตโนมัติ (สำหรับฟังก์ชันการทำงานที่รู้จัก) หากการเปิดตัวผ่านขั้นตอนนี้คุณมีผู้สมัครที่วางจำหน่ายสำหรับการทดสอบรวม คุณสามารถเรียกใช้การทดสอบอัตโนมัติจากคอนเทนเนอร์ Docker อื่นตัวชี้วัดบางอย่างที่ความพยายามในการทดสอบของรัฐคือ 1: 1 เพื่อเข้ารหัสความพยายาม (แม้ว่าฉันไม่แน่ใจในตัวเอง)
สุดท้ายแล้วขั้นตอนต่อไปคือที่ที่คุณสร้างสภาพแวดล้อม (ระบบ) ของคุณราวกับว่ามันกำลังใช้งานจริง หากคุณกำลังใช้ Docker ในการผลิตนี่คือที่ที่คุณจะนึกถึงความปลอดภัยของเครือข่ายและการปรับแต่งเซิร์ฟเวอร์ ฯลฯ รูปภาพ Docker ของคุณอาจเป็นไปตามที่คุณใช้ในการพัฒนา (ตามอุดมคติ) แต่อาจมีการเปลี่ยนแปลงสำหรับการปรับขนาดและความปลอดภัย , ที่ผมกล่าวว่า. ถึงตอนนี้การทดสอบการใช้งานของแอพพลิเคชั่นจะเสร็จสมบูรณ์คุณกังวลเรื่องความปลอดภัยและประสิทธิภาพมากกว่า จากการทดสอบการใช้งานการทดสอบของคุณที่นี่สามารถพัฒนาติดตั้งและรันได้จากอิมเมจ Docker อื่น ๆ ขั้นตอนนี้เคยมีราคาแพงมากและไม่ค่อยทำเช่นนั้นคุณจึงจำเป็นต้องใช้ฮาร์ดแวร์เฉพาะในสถานที่ที่ผลิตซ้ำ วันนี้สิ่งนี้สามารถทำงานได้อย่างสมบูรณ์เพราะคุณสามารถยืนหยัดและทำลายสภาพแวดล้อมทั้งหมดในเกือบทุกขนาดตามความต้องการ
ในที่สุดคุณมีการเปิดตัวที่ควรจะผลิตพร้อมกับชุดของการตั้งค่าเพียงเล็กน้อยเดลต้าจากการทดสอบการรวมของคุณ (ที่อยู่ IP, ฐานข้อมูล URI, รหัสผ่านและอื่น ๆ ) ฐานรหัสของคุณได้รับการทดสอบอย่างน้อยสามสภาพแวดล้อม จุดและส่วนใหญ่ของการกำหนดค่าระบบอย่างน้อยหนึ่งครั้ง