การจัดการ Dockerfile แบบไดนามิกสำหรับผู้เช่าที่แตกต่างกันในการใช้งานไปป์ไลน์ CI / CD
ฉันกำลังพยายามใช้ CI / CD ไปป์ไลน์สำหรับโครงการของฉันโดยใช้ Docker, Kubernetes และ Jenkins แอปพลิเคชันของฉันเป็นแอปพลิเคชันหลายผู้เช่าที่แอปพลิเคชันฐานข้อมูลตัวแปรทุกอย่างแตกต่างกันสำหรับผู้เช่ารายอื่น แอพลิเคชันกลยุทธ์ เมื่อฉันสร้างภาพนักเทียบท่าฉันกำลังใช้ Dockerfile และฉันเก็บ Dockerfile ไว้ในที่เก็บรหัส SVN ของฉัน สำหรับผู้เช่าทุกคนที่เก็บรหัสจะเหมือนกัน เมื่อฉันสร้างภาพในเวลานั้นฉันต้องสร้างภาพที่แตกต่างกันสำหรับผู้เช่าที่แตกต่างกัน การใช้งาน Dockerfile ในไฟล์นักเทียบท่าของฉันฉันกำลังเพิ่มจุดเข้าใช้งานดังนี้: ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=tenant1config" , "TestProject.war"] หากฉันต้องการสร้างภาพนักเทียบท่าสำหรับผู้เช่ารายอื่นต้องเพิ่ม -Dspring.profiles.active=tenant2config ดังนั้นจุดเข้าใช้งานใน Dockerfile จึงเป็นแบบไดนามิก ความสับสนของฉัน สำหรับการจัดการคำสั่ง entry point ภายใน Dockerfile เป็นไปได้ไหม? หรือฉันจำเป็นต้องเพิ่ม Dockerfile อื่นสำหรับผู้เช่ารายอื่นหรือไม่? และจำเป็นต้องเรียกใช้คำสั่งสร้างนักเทียบท่าแยกต่างหากสำหรับผู้เช่าแยกกันหรือไม่ ฉันจะหาวิธีมาตรฐานที่ดีในการนำปัญหานี้ไปใช้อย่างไร