web-gelistirme-sc.com

Test ortamından üretim ortamına nasıl geçilir?

Göç yerel ortamdan üretim ortamına kadardır. Üretim ortamı biraz zaman aldı ve birçok makale yarattı.

Siteme yeni şeyler eklemek için özel bir tema ekledim ve yerel test ortamımda CCK, Views ve diğer modülleri kurdum. Artık yerel test ortamı bittiğine göre, veritabanının içeriğini bozmadan onu üretim ortamına nasıl taşıyabilirim?

46
enjoylife

Bu, neredeyse herkesin farklı bir cevabı olan önemsiz bir sorundur: üretim baskılarına sahnelemeyi yönetmenin kanonik bir Drupal yolu yoktur. Drupal şovunu yöneten Buytaert, onu Drupal 8 anahtar girişimlerinden biri yaptı. Elbette, Drupal 7 piyasaya çıktı, bu yüzden herhangi bir meyve vermeden önce biraz zaman alacak.

Sorun iki ayrı konuya ayrılabilir:

  • Evreleme yapılandırması (değişkenler, içerik türleri, alanlar, görünümler vb.)
  • İçerik hazırlama (düğümler, kullanıcılar vb.)

Birincisi çoğunlukla site yapılandırmanızı alıp Drupal kurulumunuza ekleyebileceğiniz bir modüle dönüştürecek Özellikler modülü tarafından işlenebilir: bu şekilde, sürüm kontrol sisteminize ekleyebilir ve içeriğinizi taşırken havaya uçurulması konusunda endişelenmenize gerek kalmaz.

İkincisi gerçekten zor, çünkü aktif bir sitede, geliştirme ortamınızla ilk senkronizasyonu yaptıktan sonra bile içerik üretimde değişecektir. Bu, yapılandırma sırasında yaptığınız gibi hazırlama sırasında içeriğin toptan değiştirilmesini önler.

Ek olarak, Drupal içerik için evrensel olarak benzersiz tanımlayıcılar (UUID'ler) kullanmaz: her düğüm veya kullanıcı eklendiğinde kimlik bir artar. Bu nedenle, geliştirme sitenizdeki 45 numaralı düğüm, üretim sitenizdeki 90 numaralı düğüm olabilir.

Ne yazık ki, bunun için mükemmel bir çözümüm yok: içeriği sahnelemek Drupal'ın gerçek bir zayıflığı. Kişisel olarak yaptığım sadece üretim sitesine içerik eklemek. Bir müşteri, içeriğin yayınlanmadan önce nasıl göründüğünü görmek isterse, üretim sitesinin yalnızca istemci tarafından erişilebilen bir klonunu kuracağım. Daha sonra, onaylandıktan sonra, aynı değişiklikler doğrudan üretime yapılır.

Etrafına fırlatılan başka bir alternatif daha var: Dağıt modülü. Evreleme içeriğini nispeten ağrısız hale getirmek için Services değerini kullanması gerekiyor. Ama etkinliğini garanti edemiyorum ve Drupal 7 sürümü yok.

34
user7

Sürecimizde.

  1. Db'yi eşyadan çeken bir Shell betiğimiz var.
  2. Hudson, dev/sahneleme şubelerimizi canlı ve dev şubeleri senkronize etmek için yeniden oluşturmak için kullanıyoruz.

    Git'i kullandığımız için yaptığımız her görevin kendi dalı var, ardından KG'ye geçildiğinde regresyon testi için hazırlama sunucumuz olarak master yapmak için birleştiriyoruz.

    Master hazır olduğunda Release Server canlı bir kopyasıdır (yapılandırma, donanım, vb.).

  3. Yapılandırmaları dağıtmak için Feature modülünü kullanıyoruz. Bazı öğeler henüz özellik tarafından desteklenmediği için hook_update_N kullanıyoruz ve updatedb.php veya drush -vd updb

  4. Serbest bırakıldıktan sonra Özellikler geri alma (drush fra --yes) tüm geçersiz kılma özelliklerini geri almak için.
  5. Boost (Vernik'e geçiş) ve Memcache kullandığımız için önbelleği temizlememiz gerekiyor (drush cc all).

    Resimlerimizi/videolarımızı vb. Senkronize etmek için rsync kullanıyoruz ...

7
ninjascorner

Bir XAMPP sunucusundan başka bir sunucuya geçmek için bu site üzerindeki talimatları izledim.

Üretim sunucunuzda, geliştirme sunucunuzdakiyle aynı yapıyı koruduğunuzdan emin olun. Ayrıca Drupal admin kontrol panelinde bulunan bazı dosyaları da düzenlemek zorunda kaldım: admin/config/media/dosya sistemi

Genel dosya sistemi yolu ve Geçici dizin doğru konumların ayarlandığından emin olun.

2
kretzm