ปัญหาเกี่ยวกับการติดตามการกำหนดค่าสำหรับ/etc
ในgit
นั่นคือทั้งหมดที่คุณได้รับจากการทำเช่นนี้เป็นรุ่นควบคุม (ส่วนใหญ่git
สามเณรไม่ได้รู้วิธีการtag
และbranch
ถูกต้องน่าเพื่อที่จุดนั้น) และความสามารถในการย้อนกลับ (อีกครั้งถ้าคุณศศภอ' ทีtagging
อย่างถูกต้องคุณจะไม่ได้อะไร แต่บันทึกไปยังคนตำหนิบริการ); แต่คุณสูญเสียการสร้างเทมเพลต (เทมเพลทไม่สามารถทำได้เพราะ git ไม่ได้ให้สิ่งนั้น) และปรับขนาด (คุณไม่สามารถใช้การกำหนดค่าที่อื่นได้โดยเฉพาะถ้าคุณใช้ฐานข้อมูลแบบกระจายเช่น Elasticsearch) และการจัดการระบบอัตโนมัติ (อีกครั้ง )
สิ่งที่คุณกำลังมองหาคือการจัดการการกำหนดค่า ; ที่ความสัมพันธ์ในtemplating , git
และการเขียนสคริปต์ขั้นพื้นฐานในการจัดการการกำหนดค่า นี้แน่นอนเป็นไปลงทิศทางของ DevOps และโครงสร้างพื้นฐานเป็นรหัส
เพื่อเพิ่มนี้; Ansible มีansible-pull
ซึ่งสามารถดึง repo ล่าสุดของ playbooks ของคุณจากgit
; เช่นเดียวกันสำหรับเชฟ etckeeper
โดยทั่วไปผู้ดูแลระบบลินุกซ์ที่ทันสมัยไม่ควรใช้สิ่งที่ต้องการ เชฟยังมีโหมดไคลเอนต์เซิร์ฟเวอร์ที่คุณสามารถจัดการระบบทั้งหมดที่มีchef-client
อยู่บนพื้นฐานของenvironment
, roles
และตำรารุ่น; สิ่งที่คุณไม่สามารถทำได้ด้วยตัวเองgit
และในระดับ
etckeeper
ที่ถูกใช้ไปแล้วในหลาย ๆ ระบบ มันไม่ได้มีคุณสมบัติทั้งหมดที่คุณขอ เช่นมีที่เก็บหนึ่งรายการต่อโฮสต์ไม่ใช่ที่เก็บส่วนกลาง