2009-07-02 18 views
5

2 kişinin WordPress'te bir site geliştireceği bir proje başlatıyorum. Ayrıca, istemcinin siteyi değiştirmeden önce siteye değişiklikleri görüntüleyebileceği bir geliştirme sunucusu kurulumuna sahip olmak gerekebilir. Ayrıca geliştirme aşamasından üretime kadar tüm yoldan itilmesi gereken veritabanı değişiklikleri (wordpress ayarları gibi) de olabilir.WordPress tabanlı web siteleri oluşturmak için iş akışınız nedir?

Bunun için en iyi iş akışının ne olduğunu merak ediyorum. Genel kavramları anlıyorum çünkü genelde Rails'de gelişiyorum ve bu yüzden göçleri ve capistrano ve git'i kullanıyorum, ama bir WordPress sitesi için aynı sıkı iş akışına sahip olmak istiyorum. Orada herhangi bir deneyimli WordPress geliştiricisi var mı?

Güncelleştirme10: Belki bunu yeterince açıklayamadım, ancak wordpress'i anlıyorum. 5-10 wordpress bloğu ve özelleştirilmiş işlevsellik yarattım. Ancak, Birden fazla kişi ile bir wordpress sitesinde hiç çalışmadım ya da dev, aşamalandırma ve üretim ortamına sahip olmak zorunda kaldım.

Teşekkür ederiz!

cevap

0

WordPress oldukça modüler olma eğilimindedir; Bir kaynak kontrolün yardımcı olacağını ve belki de bir önizleme sitesine yüklemeyi otomatikleştirmek için bir komut dosyası yazacağını düşünüyorum. Yalnızca SVN tarafından güncellenen bir klasörü ve bir çalışma klasörünü saklayabilirsiniz.

WordPress onu Sayfa Şablonlar ve Widget'lar, eklentilerin yanı sıra kullanabileceği bir anlamda modüler olduğunu. Sitenizin parçalarını widget ve eklentiler olarak yazıp çalışmasını sağlamak için bir araya getirebilirsiniz. Özel düzen veya PHP kodu olan sayfalar için Sayfa Şablonları'nı kullanabilirsiniz. Çok nadiren WordPress çekirdek dosyalarına (ya da hiç kimseye) dokunmanız gerekir, bu yüzden WordPress tarafından verilen uzantı araçlarına bağlı kalırsanız, bu iyi olur.

+0

tamam, ben wordpress'i anlıyorum. belki bunu daha net yapmalıydım. Bu soru özellikle iş akışı ile ilgili ve spesifikasyonlarla bir cevap arıyorum. Ben komut dosyaları yazmam gereken durumlarda umuyoruz, insanlar – Tony

0
sanal makineye yüklemek hızlı wp Rol Yöneticisi izinleri yönetimi için eklenti ve Turnkey Wordpress denemek isteyebilirsiniz

. Yine de git-like rolü olan bir şey hakkında bir ipucunuz yok.

1

İş akışı huh? Peki, karmaşık WordPress web sitelerinde birkaç kişi ile çalıştım ve hala yapıyorum. Çoğu zaman Subversion ve Trac kullanıyoruz ve nadiren veritabanında bazı değişiklikler yapmaya geliyor. Sadece kurulum sırasında tahmin ediyorum. Şifrenizin ve istemem pehaps için birlikte ŞİFRE değiştirmeyi unutmayın);

#!/bin/sh 
echo Copying $1 to $2 ... 
mysqldump -uroot -pPASSWORD $1 > /tmp/tempdump.sql 
mysql -uroot -pPASSWORD -e "CREATE DATABASE $2;" 
mysql -uroot -pPASSWORD $2 < /tmp/tempdump.sql 
rm -f /tmp/tempdump.sql 
echo Complete 

, biliyorum yol çok basit, ama ben böyle seviyorum: İşte

senaryo Bu amaçla kullanıcı kökünü kullan (gerçekten umursamıyorum, işte bu yüzden).

copydb.sh örneğin, daha sonra chmod + x copydb.sh içine dosyayı kaydedin ve sonra bunu şöyle çalıştırabilirsiniz: ./copydb.sh database1 database2;)

bu DEV tipi ve ÜRETİM ortamı ile başa çıkabilmek için
+0

dev siteleri ya da sadece bir prod site kullanıyor musunuz sağlayabilir. Bir dev site kullanırsanız, her eklenti eklediğinizde DB ayarlarını kopyalamanız gerekir. Muhtemelen çok acı verici değil, sadece kötü bir fikir olup olmadığına dair bir geri bildirim almak istedim – Tony

+0

cool .... komut dosyasını paylaşmaya ne dersiniz? – Tony

+0

Elbette, cevap güncellemesine bakın – kovshenin

2

, ben yazdım Aksi takdirde manuel çalışma ne olacak bana yardım etmek için bir perl betiği. Bazı isimleri tanıdık isimler verdim, bu yüzden onları doğru sırada çalıştırmayı hatırlıyorum. Sadece SVN altında DEV'im var. Bu senaryo ile her defasında bir ÜRETİM ortamı yaratıyorum. Bu şekilde 2 kod dalının korunması konusunda endişelenmem gerekmiyor. Ben SVN kullanıyorum

yüzden benim DEV kodunun yeni çıkış dizinini (gibi/tmp/filanca) seçin. Çok uzun sürmeyecek.

İsteğe bağlı adım 0: diff veritabanı yapıları

mysqldump -d -u USER -pPASS mydotcom > production.sql 
mysqldump -d -u USER -pPASS mydotcom_dev > development.sql 
vim -d production.sql development.sql 

Bazen eklentileri tabloları katacak ve bu olduğunu gösterecektir. Aksi halde, bazı tabloları değiştirmek ve SQL deyimlerini kopyalamak için değmezse, tablolar içinde yapılan değişiklikleri (eklenti) tekrar oynatırım.

adım 1 clean: Komut dosyası geçerli dizindeki tüm dosyaları siler, DEV dalının yeni svn çıkışını yapar. Bu yeni ödeme, ÜRETİM koduna dönüştürülecek ve webroot'una kopyalanacaktır.

2. adım: perl, bir wim dosyasını çalıştırır ve wpconfig.php dosyasında veritabanı adının yerini alır. Arama ve değiştirme, perl'de kolayca yapılabilir.

system('vim -c "%s/define(\'DB_NAME\', \'mydotcom_dev\'/define(\'DB_NAME\', \'mydotcom\'/g | w | q" wp-config.php'); 

Yerel dosya yüklemeleri dizinini kaldırın (bu yüzden ÜRETİM'in bir tanesinin üzerine yazmayız). wpcontent/uploads Standart bir kurulum olduğuna inanıyorum.

diğer bir buluntu ve örnek

vim -c "%s/dev\.mydot\.com/www.mydot.com/g | w | q FILENAME.php 

3 yüklemek adım için, benim DEV url sahip proje içindeki tüm metin dosyaları değiştirin. Güvenli olması için wpcontent/karşıya yüklemeleri dircopy() ile yedekleyin. Bu temizlenmiş dizinin bir yönergesini ÜRETİM webrootuna yapın. şöyle Webroot altında tüm .svn dizinleri kaldırın:

find /PRODUCTION/WEBROOT -ignore_readdir_race -name .svn -exec rm -fr {} \; >/dev/null 2>&1 

Şimdi DEV kodu tüm kodlanmış URL'leri değiştirerek ve SVN'de değil yüklemeler dizinde etrafında güvende tutmak sizin ÜRETİM koduna dönüştürülmüştür. Hatta senin için durup apache'yi de başlatabilirsin. Umarım çözümüm probleminizi çözmenize yardımcı olur.

İlgili konular