Git için birçok kaynak kodunu taşıdık ve mevcut çözümümüzden çok memnunuz. Sunucu yapılandırma dosyalarımızın aynı sistemde sürümlendirilmesini istiyoruz, ancak bizim istediğimiz gibi çalışmayan birkaç şey var ve umarım birisi deneyimlerini burada paylaşabilir.
Bu soru, sunucu yapılandırma dosyaları için revizyon denetimi kullanılmasına benzer ? , ancak bu soruya ilişkin önerilerle çalışmayan bazı özel gereksinimlerimiz var.
Geçerli kurulum, yapılandırma dosyaları için alt sürüm kullanır. Karşılık gelen depo şuna benzer
/ # havuzun kökü + - www için www.domain.com/ # yapılandırma | \--vb/ | \ - apache2 / + - dev.domain.com/ # dev için yapılandırma | + - vs / | \ - opt / | \ - app1 / | \ - geliştirmede app1 için conf / # yapılandırması \ - staging.domain.com/ # hazırlama için yapılandırma
Subversion ile bu sadece işe yarayacaktır, çünkü sadece bir deponun alt dizinini kontrol etmek mümkündür. Ayrıca, birkaç farklı yapılandırma kurulumu için ortak bir yapıyı göstermek için svn: externals komutunu kullanabilirsiniz. Sadece tüm sürüm dizinlerinde .svn dosyaları ile uğraşmak zorunda kaldık . Git'in ise svn: externals ve seyrek check-out'ları her zaman kökten gerçek dizine giden yolun aynı olmasını gerektirir.
Git'e geçişi tartışırken, sunucu yapılandırması sürümlendirmesi için ana Gereksinimleri yazmaya çalıştım :
- sadece tek bir depo istiyoruz
- değişiklikleri merkezi uzaktan kumandaya kolayca itmek mümkün olmalıdır
- değişiklik kümeleri gerçek yazarı içermelidir
Tüm yapılandırmayı bir depoda bulundurmanın ve yalnızca çalışan kopya olarak bir alt yola sahip olmanın güzel bir yolu var mı? Şu anda iki yaklaşımı düşünüyorum ama önce bu soruyu burada sormak istedim
- Eğer .git depo sabit yerdedir, örneğin bir yerlerde / var , biz çalışma dizini "hedef" dan alt yola link verebilecek. Ana sorun: Tek dosyaları symlinking hariç, sadece içeriği almak için / etc başka bir dizine "bağlantı" için bir yol bilmiyordum
- Bu SO sorusunda başka bir alternatif buldum, bu da bir depoda birden fazla şubeye sahip olduğumu düşündürüyor. Bu kesinlikle karmaşıklığı artıracaktır, ama bizi bu şekilde denerken görebiliyordum.
Yapılandırma dosya yönetimi için tek bir makinede git kullanmak iyi çalışıyor, ancak onu kullanmak istediğimiz şekilde kullanan birinin olması gerektiğine inanıyorum.
Teşekkür ederim
Kariem
/
yazma izinleri nedeniyle olması gerekiyorsa, ikinci gereksinimi uygulamak (değişiklikleri geri itmek) zordur .