Ben şu anda bir yardım kuruluşu için bir php-uygulama geliştiriyorum ve dağıtım uygulamalarını tanımlama aşamasında şimdi duyuyorum.
Bizim uygulama Zend Framework ve Doctrine hem de kullanıyor. Uygulama farklı sunucu, farklı bir yapılandırma dosyası ile her dışarı alınır. Makineler Windows hem de Linux (ama tüm Apache ve php 5.2 + ile).
Kaynak subversion deposunda mevcuttur ve biz bir Linux sunucu üzerinde bizim paketleri oluşturmak ve saklamak istiyorum.
Tercihen biz güncelleme işlemi güncelleme komutu da (doktrin komut ile) veritabanını günceller ve çerçevelerin bağımlılıklarını sağlayan uygulama dizininde, bir güncelleştirme komutu koşma gibi kolay olmasını istiyoruz. Bu güncelleştirme komutu (biz onlara ssh'tan olamaz) makinede bir komut olması gerekir. Tercihen yeni bir sürümünü indirerek veya yeni bir sürümü ile zaten indirilen tar paketinin sağlama seçeneği var. (Ama sadece indirme ya da sadece arşivini da Tamam)
Kurulumları ve güncellemeleri (yeni sürümleri) ile paketler, tercihen tek bir komut tarafından inşa de vardır.
Ben PHAR ait, armut, Phing hakkında biraz okuma olmuştur ama ben bunu yapmak için en iyi yolu nedir hiçbir ipucu var. Sürekli entegrasyon sunucu gerçekten gerekli değil, ama ben bir sürümünü oluşturduktan sonra otomatik olarak test ortamları dağıtma düşünüyorum.
Başlangıçta sadece php app güncelleme yükleyerek elle yapılabilir zaman başlangıçta bir yapılandırma dosyasını doldurma, çok kolay olmalı.