Gitignore ile Sürekli Dağıtım


12

Git ile sürekli dağıtım yaparken, gitignore'da yok sayılan dosyaları nasıl ele alırsınız? Bu dosyalar gizlilik nedeniyle yok sayılır (yani , GitHub gibi diğer uzak depolara gönderilmesini istemezler ), ancak bu yok sayılan dosyalar sürekli dağıtım deposuna gönderilmediği için uygulama çalışmaz (yok sayılan dosyalar yazılımın düzgün çalışması için gereklidir).

İnsanlar bunu nasıl yapar? Bu durumda Git, yok sayılan dosyalar nedeniyle sürekli dağıtım için en iyi aday değil midir?


2
Bu soruyu konu dışı olarak kapatmak için oy kullanıyorum çünkü asgari, temel bir araştırma çabası göstermiyor.
Scant Roger

3
Araştırma çabası eksikliği görmüyorum. OP gitignore anlamak gibi görünüyor yapar gayet iyi. Gördüğüm şey bir XY problemi, ancak hem X hem de Y soruda açıklandığı için Doc, OP'nin gerçek problemini umarım çözen iyi bir cevap yazabildi.
Ixrec

1
@ScantRoger: dürüst olmak gerekirse, soru daha iyi yazılabilir, ancak yakın bir oyu hak edecek kadar kötü olmaktan çok uzaktır.
Doc Brown

Yanıtlar:


14

Yazılım bu dosyaların olmadan çalışmaz yoksa, bir sorun var olacak herhangi hatta herhangi VCS olmadan VCS her türlü ile, dağıtım, manuel otomatik veya sürekli tür. Bu yüzden ya yazılımınızı, bu dosyalar olmadan gerçekten çalışacak şekilde değiştirin (örneğin, dosyalar eksikse bir tür "varsayılan parametreler" olduğunu varsayabilir) veya bu dosyanın kopyalanmak üzere dağıtıma uygun bir sürümünü sağlarsınız ( dağıtım adımının bir parçası olarak), bu dosyaların "özel" bir sürümü yoksa, hedef ortama.

Sunucuda oturum açmak için veritabanı kimlik bilgilerini içeren bir dosya gibi bir şeyden bahsediyorsanız, güvenlik nedeniyle sürüm kontrolünde olmak istemezseniz, o dosyayı bir kez dağıtım ortamına koymanız gerekir, muhtemelen el ile , yeterli haklara sahip veya şifreyi bilen bir kişi tarafından. Ancak bu kasıtlıdır ve yazılımınızın günlük yeni sürümlerini dağıtmanızı engellememelidir. Yeni bir sürüm dağıtırken geçerli bir kimlik bilgisi dosyalarının üzerine yazılmadığından emin olun.


Kabul, eğer vcs kontrol dışarı inşa etmek ve çalıştırmak için yeterli değilse, düşük bir kapasite de olsa, o zaman kaynak ağacınız eksik.
Newtopian

@Newtopian: Bunun gerçekten kasıtlı ve doğru olabileceğini unutmayın (örneğime bakın).
Doc Brown

2

Başka bir seçenek de hassas bilgileri dağıtım aracınızın içinde saklamaktır. Ve ayrı bir özel kaynak deposunda dağıtım aracı yapılandırması.

Hassas verileri hedef makinede bırakmak çalışır, ancak biraz çürük olabilir - birisi prosedürleri izlemeden değiştirir, makine fren yapar ve kimse doğru ayarları vb. Hatırlamaz.

Örneğin Saltstack'ta https://docs.saltstack.com/en/latest/topics/pillar/index.html var

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.