Ben büyük, ağırlıklı olarak PHP tabanlı bir takım projeler üzerinde çalışıyor, benim çoğu zaman yalnız bir geliştirici değilim. Ben profesyonelleşme ve kod tabanı değişiklikleri nasıl ele otomatikleştirmek ve geçiş köklü değişiklikler yapmak zorunda kalmadan mümkün bir ekip çalışması yapan Sürekli Entegrasyon sürecini oluşturmak istiyorum.
Ne ben şu anda yapıyorum ben her proje için yerel bir test ortamı var ise; Ben her proje için SVN kullanmak; değişiklikler lokal olarak test ve daha sonra genellikle FTP üzerinden on-line versiyonu, aktarılır. API belgeleri kaynak koddan elle oluşturulur; Birim testleri ben yavaş yavaş içine alıyorum şey vardır, ve henüz benim günlük rutin bir parçası değil.
Ben öngören ediyorum "build döngüsü" aşağıdaki yapardın:
Bir changeset lokal olarak test edildikten sonra SVN içine kontrol alır.
Ben inşa sürecini başlatmak. SVN HEAD revizyon gerekirse modifiye ve yüklemek için hazır, teslim alır.
API Belgeleri otomatik olarak oluşturulan alır - Ben henüz ayrıntılı kurmak varsa, varsayılan bir şablonu kullanarak, bütün kod tabanı tarıyor.
Yeni revizyon FTP üzerinden uzak konuma dağıtıldığı (bazı dizin yeniden adlandırma, chmodding, veritabanları ithal ve seviyor dahil.) Bu çok ben zaten phing gibi bir şey, ama ben açığım Tabii alternatifleri.
Önceden tanımlanmış bir yerde ikamet Birim testleri çalıştırılır. Ben e-posta, RSS ya da yakala ve bir web sayfası içine koyabilirsiniz (tercihen) HTML çıktısı kullanarak başarısızlık veya başarı haberdar ediyorum.
Önceden tanımlanmış bir yerde (isteğe bağlı), bir son kullanıcı "changelog" metin dosyası teslim mesajı (aynı anda foo "ve" bar "," Her ikisi için filtre artık mümkün "önceden tanımlanmış kısmı ile güncellenir zaman). Bu mesaj mutlaka SVN muhtemelen çok daha fazla dahili bilgi içeren mesaj, taahhüt ile özdeş değildir.
Böylece kodu ölçümler, kod stil denetimi ve benzeri şeyler hemen benim birincil odak değildir, ancak uzun vadede, kesinlikle olacak. Out-of-the-box bu getirmek Çözümleri çok nazik üzerine baktı.
Ben arıyorum
Feedback and experiences ya da benzer bir durum vardı, ve başarıyla bu bir çözüm uygulanan kişilerin
Özellikle, good step-by-step tutorials and walkthroughs Bu kurmak için nasıl
as much automation as possible, örneğin her yeni proje için çok üzerinde bir iskelet API, test durumları ve oluşturarak sağlamak çözümleri.
ve ayrıca
- Product recommendations. Ne kadar biliyorum raporlama kısmı için bina için phing / karınca, ve phpUnderControl veya Hudson olduğunu. Ben bildiğim kadarıyla gördüğünüz gibi hepsini seviyorum, ama ben tabii onlarla ayrıntılı deneyimim var.
Ben çalışma ile swamped am, bu yüzden basit çözümlere doğru güçlü bir eğilim var. Bir özellik yoksa, diğer yandan, ben çok sınırlı olma konusunda ağlayacaksın. :) Point-and-click çözüm de açıktır. Ben PHP projeleri ile çalışabilir ticari ürün önerileri de duyuyorum.
My setup
I am working on Windows locally (7, to be exact) and most client projects are run on a LAMP stack, often on shared hosting (= no remote SSH). Ben arıyorum solutions that I can run in my own environment. I am ready to set up a Linux VM for this, no problem. Hosted solutions are interesting for me only if they provide all of the aspects described, or are flexible enough to interact with the other parts of the process.
Bounty I am accepting the answer that I feel will give me the most mileage. There is a lot of excellent input here, I wish I could accept more than one answer. Thanks everyone!