Verimli ve etkili bir gelişim sürecini kurma

2 Cevap php

Benim start-up için geliştirme ortamı (PHP / MySQL) kurma ortasında duyuyorum. Biz sunucular üç set kullanın:

LIVE - the servers which provide the actual application TEST - providing a testing version before it is actually released DEV - the development servers

Geliştirme sunucuları her geliştirici kendi yerel kopyasını kontrol ile SVN çalıştırın. Her günün sonunda tamamlanan düzeltmeleri kontrol ve sonra bizim inşa sürecini otomatikleştirmek ve sonra TEST bitti aktarmak için Hudson kullanırlar. Her şey CANLI ince hareket ise biz daha sonra bir test cihazı kullanarak hala işlevlerini doğru uygulama kontrol ve. Ben bu süreçte mutluyum ama ben iki soru var:

  • Her geliştirici Ben onlara ne yaptıklarını test edebilmek için istediğiniz yeni sayfaları veya değişiklikler, işlevselliği ekler gibi - Nasıl yerel test yapmak öneriyoruz. Eğer onlara kendi makine üzerinde yerel sınamak sadece kurulum yerel Apache ve bir yerel veritabanı ve var mıydı?

  • Nasıl veri katmanı değişiklikler ile uğraşan önerirsiniz?

  • Eğer gerçekten mümkün olduğunca bizim geliştirme süreci kolay ve verimli hale getirmek için yapıyor tavsiye ederim başka bir şey var mı?

Şimdiden teşekkürler

2 Cevap

Apache ve veritabanı ile komple kendi kurulum, çalışan her geliştiriciye +1.

Sürüm kontrolü altında veritabanı şemasını tutun.

Muhtemelen bir test veritabanı, (belki ayrı bir depo) veri küçük ama dizi temsili tutmak olabilir. Her sabah bu test veritabanının son kopyasını kontrol ve hack başlar. Eğer şemalar değiştirdiğinizde, buna göre test verileri depoyu güncelleme.

Geliştirme yapıyor Herkes kendi yerel ortamına sahip olmalıdır. Ben başka bir ortamda benim kendi LAMBASI çevre, yerel ve bağımsız olabilir ve ben bu yüzden mAmp çalıştırmak Mac kullanın. Bu da beni kimse ben aynı bileşenleri üzerinde çalışan / değiştirme ve olası karışıklığı ortadan kaldırır olduğunu bilmek sağlayacaktır. Eğer bir windows kullanıcı iseniz, büyük olasılıkla zaten Linux size lezzet için LAMBASI yüklemek için nasıl bilecek, ayrıca masaüstü olarak Linux kullanıyorsanız vb XAMP gibi LAMP yığının yerel sürümlerini yüklemek kolaydır vardır yayınlanıyor.

Veritabanı şeması sürümü harika bir fikir. Bu, biz de ne kullanın. Sürüm kontrolü altında şema ek olarak, biz bu yüzden biz hızla karşılaştırmak gerektiğinde üretim / qa / dev ne olduğunu sürümünü söyleyebilirim şema şema sürüm tablo eklemek ve güncel tutmak.

Iki şey vardır veri katmanı değişikliklere gelince ben tavsiye ederim.

  1. Hep ileriye ve geriye doğru, kendi geçiş yolu oluşturun. Bu varolan bir şema yükseltmek için üretime koymak istediğiniz şema olduğunda, her zaman serbest bir parçası yapmak gerektiği anlamına gelir. Tabloları değiştirmek için bir açık, özlü bir süreç. Aynı şekilde, bir şey yanlış giderse durumda bir çalışma ve de test ROLLBACK sürümü olması gerekir.

  2. Ne yararlı bulduk ben üretimini etkilemeden ile oynamak kadar en güncel veri / şema var ki benim yerel (veya QA / DEV) üzerine yüklemek için bir üretim yedeği kullanıyor. Eğer üretim düzenli yedeklemeler gerçekleştirerek değilseniz, belki şimdi bir politikayı uygulamak için iyi bir zamandır. Sonra bir taşla iki kuş vurmak olacaktır. Eğer başka bir makinede test etmek yükleyebilirsiniz veri ile herhangi bir elektrik kesintisi ve yararlı bir canlı için şema yedekleri var olacaktır. Bu da veri üretiminin eşleşen olacak gibi şema değişiklikleri ile olası sorunları yükselterek kendisini borç verecek. Lokal olarak (ve DEV / QA üzerinde çalışır) Yani, üretimde yanlış giden bir şey riskini azaltır.