2012-05-13 14 views
6

Bazen Codeigniter ile çalışıyorum ve yerel sitede geliştirildikten sonra dosyaları sunucuya taşımam gerekiyor. /config/ klasöründeki tüm dosyaların Sunucu ayarlarıyla eşleşmesi gerekiyor. Bu değişiklikler için bir taahhütte bulunmak doğru değil, sadece Git'i bu dosyaları tamamen görmezden geliyor muyum yoksa bu değişiklikleri takip etmenin ve onları doğru zamanda Git'e uygulamanın bir yolu var mı?"Sunucu için bir sürüm" sürdürmenin doğru yolu nedir - yalnızca yapılandırma dosyaları değiştirilirken, Git?

+0

Belki de bunu yapabilir bir git after_deploy kanca yazabiliriz:

sonra çevreyi ayarlamak .htaccess dosyasında aşağıdaki kodu eklemek istiyorsanız

? – lenswipe

cevap

7

Sen sürüm devam olabilir:

  • iki "değeri yapılandırma dosyaları", her ortamda
  • bir şablon yapılandırma dosyası için doğru değerlerle, değer yer tutucu ile onun içinde (örneğin, @@[email protected]@)
  • mümkün bir senaryo üzerinde ödeme, teçhizat üretmek için komut tetikleyecek, mevcut ortamda
  • bir content filter driver bağlı fiili yapılandırma dosyası oluşturmak ht config dosyası.

content filter driver

Not: şablon yapılandırma dosyası sanıyor tanınabilir bir içerik (filtre dosyasının bir ad veya yol yok) sahiptir. Git içerik filtresi sürücüsünün sınırlaması hakkında daha fazla bilgi için bkz. "Git equivalent of subversion's $URL$ keyword expansion".

1

İhtiyaçlarınıza bağlıdır. Şirketimde başka bir yaklaşım kullanıyoruz. Biz oluşturduk birkaç ortamlar (asteriks olan iç proje adı):..

  • devel - site etki çalışır ** local.com *
  • testi - etki alanında yer koşmak testi *. company.com
  • beta -.. beta * company.com
  • üretim - her alanı.

alan adı dayanarak otomatik olarak yapılandırmaları geçin.

<?php 
return array(
    '_env' => array(
    'devel' => array(
     // config for devel 
    ), 
    'production' => array(
     // config for production 
    ) 
) 
); 
?> 

Bazı çerçeveler (bir adil Zend) Sanal Sunucu yapılandırma (veya .htaccess) çevre adını ayarlayın: gibi Javascipt yapılandırma dosyası arar. Şunlara dikkat etmelisiniz: zend framework auto switch production staging test .. etc

CI belgelerine baktınız mı? Bu konuda bir section var.

0

config klasöründe iki klasör oluşturun. Biri development ve diğeri production. Şimdi bu klasörlerin her birine config.php, database.php vb. Kopyalayın. Şimdi üretim sunucusunda olduğunuzda, CodeIgniter ilk olarak dosyalar için production klasörünü kontrol edecektir. Orada değilse, o zaman config klasöründe varsayılan dosyayı kullanır. Ve eğer geliştirme ortamındaysanız, CodeIgniter ilk olarak development klasörünü kontrol edecektir. Eğer üretim ve geliştirme ortamına benzer herhangi yapılandırma dosyasını tutmak istiyorsanız

, config klasörde tutun.

#This code for Development Environment 
SetEnv CI_ENV development 

ve

#This code for Production Environment 
SetEnv CI_ENV production 
İlgili konular