โฟลเดอร์ที่ซิงค์แบบ Vagrant ไม่คำนึงถึงขนาดตัวพิมพ์


10

สำหรับเว็บสแต็กของเราเรากำลังย้ายจาก Windows Server ไปยัง CentOS เพื่ออำนวยความสะดวกในการพัฒนาเราใช้ Vagrant เพื่อรัน CentOS VMs ในเครื่อง เรากำลังใช้ฟีเจอร์Synced Foldersเพื่ออนุญาตให้ devs ใช้ IDE ที่พวกเขาชื่นชอบบนเครื่องโฮสต์ แต่เราพบว่ามีฟีเจอร์หลักหนึ่งที่ขาดหายไปจากการตั้งค่านี้: ความไวของระบบไฟล์

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

การพิจารณาตัวพิมพ์เล็กและตัวพิมพ์เล็กเป็นหนึ่งในสาเหตุหลักที่เราต้องการให้ VM ท้องถิ่น เราต้องการป้องกัน "มันทำงานบนเครื่องของฉัน!"

วิธีแก้ปัญหาบางอย่างที่เราพิจารณาหรือลอง:

  • ใช้lsyncdเพื่อซิงค์จากคนจรจัดที่ใช้ร่วมกันไปยังตำแหน่งภายใน VM ที่ต้องตรงตามตัวพิมพ์ใหญ่ - เล็ก
    • การอัพเดตไฟล์บนโฮสต์ดูเหมือนจะไม่สร้างเหตุการณ์ใน VM ที่ lsync รับฟัง
  • สร้างพาร์ติชันที่คำนึงถึงขนาดตัวพิมพ์บนโฮสต์
    • (ใช้งานไม่ได้กับ Windows)
  • ใช้ samba
    • นี่อาจเป็นตัวเลือก แต่เรายังไม่ได้ตรวจสอบ

มีวิธีที่ดีกว่า? โปรดทราบว่าเรามีนักพัฒนาที่ใช้ Windows, OS X และ Ubuntu และโซลูชันต้องทำงานได้ทุกที่


เป็นคำถามที่ดี แต่เกินไปการพัฒนาที่มุ่งเน้นสำหรับ SF ฉันรู้สึก - คุณอาจมีโชคดีในกองมากเกินได้ตั้งค่าสถานะสำหรับการโยกย้าย :)
เคร็กวัตสัน

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

คำตอบ:


6

ฉันแก้ไขปัญหาใน OS X ด้วยการสร้างอิมเมจดิสก์ที่กระจัดกระจายในโฟลเดอร์โครงการของฉันและจัดรูปแบบให้เป็นแบบตรงตามตัวพิมพ์ใหญ่ - เล็ก

หลังจากติดตั้งภาพเบาบางฉันก็ย้ายโค้ดของฉันไป จากนั้นแทนที่โฟลเดอร์ "src" ดั้งเดิมด้วย symlink / alias เป็นอิมเมจที่เมาท์ วิธีนี้โฟลเดอร์ที่ใช้ร่วมกันจะต้องตรงตามตัวพิมพ์ใหญ่และตัวพิมพ์เล็กในระบบปฏิบัติการ guest

ไม่ใช่โซลูชันที่สง่างามที่สุด แต่มันปิดช่องว่างระหว่างสภาพแวดล้อมในการปรับใช้และการพัฒนาซึ่งเป็นสาเหตุที่ฉันเริ่มใช้ Vagrant ตั้งแต่แรก

อาจเป็นวิธีแก้ปัญหาที่คล้ายกันสามารถใช้ได้สำหรับ Ubuntu และ Windows ด้วยหรือไม่


Windows ไม่มีระบบไฟล์ที่คำนึงถึงขนาดตัวพิมพ์เลย
Michael Hampton

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

2
ความไวของเคสเป็นหนึ่งในเหตุผลหลักที่ฉันหันไปหา Vagrant หลังจากใช้ MAMP มาหลายปีฉันเลยผิดหวังจริงๆที่มันยังมีปัญหาอยู่ ฉันไม่อยากเชื่อว่าสิ่งนี้จะไม่ได้ระบุอย่างชัดเจนในเอกสารของ Vagrant
Jason Suave

3
@ JasonSuave ปัญหานี้เกิดขึ้นจริงกับ VirtualBox และสิ่งที่ใช้สำหรับการเมานต์ไม่ใช่ Vagrant Vagrant ควบคุมการเมาท์ VirtualBox เท่านั้น คุณอาจมีประสบการณ์ที่แตกต่างกับ VMWare ... ฉันยังไม่ได้ลอง
แบรด

0

ฉันพบปัญหาเดียวกันและวิธีที่ฉันจัดการกับมันคือการหาไดเร็กตอรี่ทำงานบน VM ผ่าน git clone และเพิ่ม Samba share ชี้ไปที่มันทำให้สามารถเข้าถึงได้ทั้งบน Windows หรือ Mac

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.