FTP üzerinden bir PHP / MySQL sitesi dağıtmak için iyi bir çözüm nedir?

3 Cevap php

Şu anda PHP ve MySQL kullanan bir web uygulaması üzerinde çalışıyorum, ama ben (... zaten o problem üzerinde çalışan) sunucuya shell erişimi yok. Şu anda, benim yerel bilgisayarda tahrip ile kaynak kontrolü var ve ben tüm değişiklikleri yapmak, yerel bilgisayardaki bir veritabanı var. Benim yerel bilgisayardaki tüm güncellemeleri test ettik Sonra, bir kez elle site dağıtın. Ben güncelleştirilmiş dosyaları yüklemek ve daha sonra benim yerel veritabanı dökümü ve dağıtım sunucuda almak için filezilla kullanın.

Açıkçası, benim şimdiki çözüm yerde ideali yakın değil. Bir büyük şey için, herkes bu özel kurulum için en iyi çözüm ne olacağını biliyor mu ... benim. Svn dosyaları kopyalama önlemek için bir yol gerekir? Ben Capistrano içine biraz ve Ant baktım, ama ben shell erişiminiz yoksa bir sorun olacağını gibilerin hem görünüm ...

3 Cevap

Eğer çalışma kopyadan farklı bir dizine (yerine ödeme daha) bir subversion ihracat yapabilir, o zaman sizin için tüm. Svn şeyler kaldırmak olacak

I Weex FTP üzerinden bir sunucu senkronize etmek için kullanıyorum. Weex temelde otomatik olarak yükler ve uzak sunucuda dosyaları / dizinleri siler etkileşimli olmayan bir FTP istemcisi. Bu (SVN dizinleri gibi) bazı yollar yüklemek değil, yanı sıra (Log dizinleri gibi) belirli uzaktan yollarını tutmak için yapılandırılabilir.

Ne yazık ki ben de MySQL veritabanlarını senkronize etmek için elinizde hiçbir çözüm var ...

Belki "SQL yama komut" daki veritabanı değişiklikleri yapın (veya tam döker kullanın), Weex olan upload ve sonra SQL yamaları yürüten uzak PHP komut dosyası diyebiliriz.

Ben üretimde rsync'i kullanabilirsiniz ama bunu yapabilirsiniz:

Size şu anda DB ne düzeyde tutmak için sitenize bir yapılandırma tablo ekleyin.

Gelişimi sırasında, (I delta_x-up.sql gibi bir şey kullanın) tek bir dosya içine bir SQL değişiklikleri her set saklayın. Bu aynı zamanda sizin SVN'de kalacak. Eğer delta_5 altındadır ve mevcut sürümü ve yeni sürümü arasında bir tablo eklerseniz Yani, örneğin, gerekli tüm SQL delta_6-up.sql koymak olacaktır

Bunu inşa etmek zamanı geldiğinde, bunun yerine bir ödeme kullanarak repo ihracat. Bu üretim içine ihtiyacın olmayacak çünkü birlikte gelen tüm SVN Cruft görmezden sağlar.

Weex (bu olurdu olduğunu düşündüğüm rsync'i kullanmak istiyorum ama bu seçenek yok) üretime bu değişiklikleri itmek için kullanın. Config DB, sen şu anda ne delta seviyesi görmek ne delta_x-up.sql dosyaları ile dizin ayrıştırmak ve herhangi bir yeni olanlar var olup olmadığını görmek için denetler bir uzaktan kod diyoruz. Varsa, onları okumak ve içindeki SQL çalıştırın.