เราได้โยกย้ายซอร์สโค้ดจำนวนมากไปยังคอมไพล์และมีความสุขมากกับโซลูชันปัจจุบันของเรา เราต้องการให้ไฟล์การกำหนดค่าเซิร์ฟเวอร์ของเราเป็นเวอร์ชันเดียวกันในระบบเดียวกัน แต่มีบางสิ่งที่ไม่ทำงานตามที่เราต้องการและหวังว่าจะมีคนแบ่งปันประสบการณ์ของเขาที่นี่
คำถามนี้คล้ายกับการใช้การควบคุมการแก้ไขสำหรับไฟล์การกำหนดค่าเซิร์ฟเวอร์? แต่เรามีข้อกำหนดพิเศษบางอย่างที่ไม่ทำงานกับคำแนะนำสำหรับคำถามนั้น
การตั้งค่าปัจจุบันใช้การโค่นล้มสำหรับไฟล์การกำหนดค่า พื้นที่เก็บข้อมูลที่สอดคล้องกันดูเหมือนว่านี้
/ # root ของที่เก็บ + - www.domain.com/ # การกำหนดค่าสำหรับ www | \ - etc / | \ - apache2 / + - dev.domain.com/ # การกำหนดค่าสำหรับ dev | + - etc / | \ - เลือก / | \ - app1 / | \ - การกำหนดค่า conf / # สำหรับ app1 บน dev \ - staging.domain.com/ # การกำหนดค่าสำหรับการแสดงละคร
ด้วยการโค่นล้มสิ่งนี้จะใช้ได้ดีเพราะเป็นไปได้ที่จะชำระเงินไดเรกทอรีย่อยของพื้นที่เก็บข้อมูล นอกจากนี้คุณสามารถใช้ svn: externals เพื่อชี้ไปที่โครงสร้างทั่วไปเดียวสำหรับการตั้งค่าการกำหนดค่าต่างๆ เราต้องจัดการกับไฟล์. svnในไดเรกทอรีที่มีเวอร์ชันทั้งหมดเท่านั้น Git ในทางกลับกันไม่มี svn: externalsและspout checkoutsต้องใช้พา ธ จากรูทไปยังไดเร็กตอรี่จริงที่เหมือนกันเสมอ
เมื่อพูดถึงการโยกย้ายไปยังคอมไพล์ฉันพยายามเขียนข้อกำหนดหลักสำหรับการกำหนดค่าเวอร์ชันเซิร์ฟเวอร์:
- เราต้องการพื้นที่เก็บข้อมูลเดียว
- มันเป็นไปได้ที่จะผลักดันการเปลี่ยนแปลงไปยังรีโมทส่วนกลางได้อย่างง่ายดาย
- เซ็ตการแก้ไขควรมีผู้แต่งที่แท้จริง
มีวิธีที่ดีที่จะมีการกำหนดค่าทั้งหมดในที่เก็บเดียวและมีเส้นทางย่อยเป็นสำเนาการทำงานหรือไม่ ขณะนี้ฉันกำลังพิจารณาสองวิธี แต่ต้องการถามคำถามนี้ที่นี่ก่อน
- หากที่เก็บ. gitอยู่ในตำแหน่งคงที่เช่นที่ใดที่หนึ่งใน/ varเราสามารถลิงก์ไปยังพา ธ ย่อยจากไดเรกทอรีทำงาน "เป้าหมาย" ปัญหาหลัก: ฉันจะไม่ทราบวิธี "ลิงก์" จาก/ etcไปยังไดเรกทอรีอื่นเพื่อนำเข้าเนื้อหาเท่านั้นยกเว้น symlinking ไฟล์เดียว
- ฉันพบทางเลือกอื่นสำหรับคำถาม SO นี้ซึ่งแนะนำให้มีหลายสาขาในที่เก็บเดียว สิ่งนี้จะเพิ่มความซับซ้อนอย่างแน่นอน แต่ฉันเห็นว่าเราลองด้วยวิธีนี้
การใช้ git บนเครื่องเดียวสำหรับการจัดการไฟล์กำหนดค่าทำงานได้ดี แต่ฉันเชื่อว่าต้องมีใครบางคนที่ใช้มันในแบบที่เราต้องการจะใช้
ขอบคุณ
Kariem
/
เพราะการอนุญาตการเขียน