PHP Web Apps için sistemler kurmak [kapalı]

2 Cevap php

Ben bu yüzden bir yapı sistemi arıyorum benim web geliştirme sürecinin daha otomatize başlamak istiyorum. Mac OS X üzerinde çoğunlukla PHP uygulamaları yazmak ve FTP üzerinden Linux sunucuları dağıtmak. Benim müşteri bir sürü böylece kendi sunucularına kabuk erişimi ancak uzaktan MySQL erişim genellikle mevcut, genellikle mevcut değildir temel hosting sağlayıcıları var. Burada bir yapı sistemi ile yapmak istediğimiz de budur:

  • When Building:
    • Lint JavaScript Dosyaları
    • CSS dosyaları doğrulamak
    • Validate HTML Dosyalar
    • Minify birleştirilecek JS ve CSS dosyalarını
    • PHP sözdizimi doğrulamak
    • Set Debug / Üretim bayrakları
  • When Deploying
    • SVN Checkout son sürümü
    • Run inşa süreci
    • FTP üzerinden sunucuya dosya upload
    • Uzak DB SQL komut dosyalarını çalıştırmak

Ben bu otomatikleştirmek için bir sürü iş olduğunu fark ama ben buna değer olacağını düşünüyorum. Yani bu yolda başlamak için en iyi yolu nedir? Oluşturur ve dağıtır işleyebilir, ya da ben ayrı çözümler aramak gerekir bir sistem var mı? Ne sistemleri öneriyoruz?

2 Cevap

Eğer sormak için tüm Phing ile yapılabilir

Phing PHP ile yazılmış ve Apache Ant sonra modellenmiştir bir dağıtım çerçevedir. Bu veritabanı dağıtımı, uzaktan dosya transferleri ve VCS bağlantısı dahil olmak üzere hazır-to-use dağıtım görevleri, büyük bir set ile birlikte gelir. Işlevselliğini eksikse, standart PHP ile Phing uzatabilirsiniz.

Phing aşağıdaki özellikleri sağlar:

  • Basit XML buildfiles
  • Sağlanan görevler Zengin seti
  • PHP sınıfları ile kolayca uzatılabilir
  • Platform bağımsız: UNIX, Windows, MacOSX üzerinde çalışır
  • Hiçbir gerekli dış bağımlılıkları
  • & Yapım ZendEngine2/PHP5 için optimize

You might also want to have a look to Hudson, an extensible continuous integration server. The supported features are available here.

Diğer dillerde arasında, PHP destekledi. This article PHP için bazı güzel eklentileri sunuyor. Makalede ayrıca yapı için Phing öneriyor. Ayrıntılar için Gordon'un cevaba bakınız.