web-gelistirme-sc.com

Sürekli entegrasyon için drush ve jenkins birlikte nasıl kullanılır?

Sık sık "sürekli entegrasyon", "drush" ve "jenkins" kelimelerini duyuyorum. Böylece ilgimi çekiyor.

Sürekli entegrasyon için drush ve jenkins birlikte nasıl kullanılır?

Ayrıca, neden drush ve jenkinleri birlikte kullanmak istesin?

30
chrisjlee

Projelerim için Jenkins işinde Drush komutlarından oluşan bir derleme kullanıyorum. Phing Drush Task projemi Drush'ı Phing derleme betiğinden çalıştırmak için kullanıyorum. Bu, mevcut Phing görevlerinden (örn. Dosya kopyalama, phplint, vb.) Yararlanmamı sağlar. Drush yardımıyla, bu komut dosyası

  • Özel olmayan tüm kodları (ör. Drupal çekirdek ve contribs modülü ve temaları) Drush Make - ./dist
  • Yeni indirilen settings.php Klasörüne kopyalarken, sürümlendirilmiş bir ${db_Host} İçindeki yer tutucuları genişletir (örneğin, ./dist/sites/default Yerine gerçek DB ana makine adını yazın).
  • Özel modülleri ve temaları ./dist/sites/all/modules/custom Ve ./dist/sites/all/themes/custom
  • Özel modüllerim ve temalarımdaki tüm dosyalar için phplint çalıştır.
  • ./dist Altındaki her şeyi önceden yapılandırılmış bir web köküne kopyalayın.
  • Derleme kodu tabanını kullanarak yeni bir site yüklemek ve SimpleTest'i çalıştırabilmek için drush site-install testing Ve drush pm-enable simpletest Komutlarını çalıştırın.
  • Özel modül sınama paketlerimi çalıştırmak için drush test-run Komutunu çalıştırın.
  • drush coder-review Komutunu çalıştırın.

Jenkins'te Drush kullanımı için yorumlanmış bir build.xml template .

21
Pierre Buyle

Phing'i Jenkins'te kullanabilirsiniz, böylece Drush'ı http://drupal.org/project/phingdrushtask (SE.COM'da Pierre Buyle) kullanabilirsiniz.

Özel örnek:

 <drush command='cc' root="${project.drupal.core.dir}" uri="${env.Host.name}" assume="yes">
  <param>all</param>
</drush>
3
Pol Dellaiera