Php / mysql web geliştirme için iyi bir iş akışı hakkında düşünüyorum.
Herkes bazı ipuçları var mı?
Burada ne olduğunu:
Biz veritabanı yükseltmeleri ve Üretime bizim itme özen birkaç özel komut dosyaları var. Bizim veritabanı için biz tek bir klasördeki tüm deltalar tutmak ve komut uygular, gerekirse mevcut deltalar karşı geçerli DB seviyesini kontrol eder ve.
Üretime tanıtımı için tüm üretim verileri aşağı çeker ve sonra değişiklikleri yukarı itmek için rsync çalışan başka bir komut dosyası var.
Eğer sunucular üzerindeki denetim ne düzeyde söz yok, ama genel süreç genel gelişimi için aynı olacaktır.
Herkesin kesin uygulamaya bağlı olarak biraz farklı Postadölesan şeyler yapar düşünüyorum. İşte Kurulum:
Bir yayınlanmadan önce:
/trunk
taahhüt eder./tags/yymmddhhiiss
için gövde kopyalayın.Stabilize bir kez, biz dağıtmak komut dosyasını çalıştırın:
/current
taze kontrol etiketine işaret etmek.Biz hızlı bir şekilde küçük bir değişiklik dışarı itmek gerekiyorsa, biz mevcut etiketi için birleştirme, ve biz sonra sunucuda çok daha basit bir düzeltme işlemi çalıştırabilirsiniz:
svn update
Postadölesan süreçlerini otomatize / yapılanmaya yönelik bazı araçlar olduğunu unutmayın. Adında bağımsız bir proje olarak kullandığı, batch system Phing biridir, ve Symfony kendi vardır pake. Bu yeterli değil sanki Ve, Zend Framework oluşturmak üzeresiniz their own variant. Gerçekten tüm bir karmaşa biraz, ama Phing muhtemelen en yaygın olarak kullanılmaktadır. Ayrıca, Ant veya Capistrano gibi, non-php özgü bir şey kullanabilirsiniz. Biz sadece temelde aynı ihtiyacı doldurur kabuk komut dosyalarını kullanın.
Biz de gövdeden dışarı denetler ve tüm testleri çalışan bir sürekli yapı çalışan var. Şu anda biz sadece bunu yapıyor kabuk komut temel bir koleksiyonu var, ama biz PhpUnderControl veya xinc geçmek için düşünüyoruz.
migrations adım belki biraz açıklama hak ediyor. Postadölesan yeni sürümü için çalıştırılmalıdır veritabanına değişiklikleri yanı sıra diğer görevleri içerir. Bizim göçler an biraz basit; Biz sadece bir .php
salkımı ve .sql
komut ile bir klasör var ve göç sırasında, Postadölesan sırayla çalıştırılır. Biz koşmak edildiği değişiklikleri takip yolu, yeni bir etiket yapıldıktan hemen sonra migrations
klasörünü boşalttıktan gereğidir. Muhtemelen değişiklikler olsa çalıştırmak edildiği oturum açmak için veritabanı kullanmak daha akıllı olacaktır. Biz bu amaç için ruckusing gibi bir şey benimsiyor kabul edilir.
Çıkış Phing.
Bizimki bir dragonmantank (Biz Devel dalında geliştirmek ve biz canlı yapmak istiyoruz, biz canlı şube içine tüm değişiklikleri birleştirme svn) daha basit yaktı, ama ben şiddetle (veri çoğunlukla okumuş ki yapılandırma verilerinizi tedavi önerecektir onun tarafından oluşturulan uygulama ve tarafından değil) kodunu kaynak gibi. Sürüm senin. Sql dosyaları. Veri gibi çok kaynak kodu olduğu gibi web sitenizin işlevselliğini etkiler çünkü.