Come vengono usati insieme drush e jenkins per l'integrazione continua?


30

Sento spesso le parole d'ordine, "integrazione continua", "drush" e "jenkins". Quindi, suscitando il mio interesse.

Come vengono usati insieme drush e jenkins per l'integrazione continua?

Inoltre, perché dovresti usare drush e jenkins insieme?

Risposte:


20

Per i miei progetti, utilizzo uno script di compilazione composto da comandi Drush in un lavoro Jenkins. Uso il mio progetto Phing Drush Task per eseguire Drush da uno script di build Phing . Ciò mi consente di sfruttare le attività di Phing esistenti (ad es. Copia di file, phplint, ecc.). Con l'aiuto di Drush, questo script di build

  • Scarica tutto il codice non personalizzato (ad es. Drupal core e contribuisce modulo e temi) con Drush Make to./dist
  • Espande i segnaposto in una versione settings.php(ovvero sostituisci ${db_host}con il nome host DB effettivo) mentre lo copia nella ./dist/sites/defaultcartella appena scaricata .
  • Copia moduli e temi personalizzati su ./dist/sites/all/modules/custome./dist/sites/all/themes/custom
  • Esegui phplintper tutti i file dai miei moduli e temi personalizzati.
  • Copia tutto in ./distun webroot preconfigurato.
  • Eseguire drush site-install testinge drush pm-enable simpletestinstallare un nuovo sito utilizzando la base di codice di build e in grado di eseguire SimpleTest.
  • Esegui drush test-runper eseguire le mie suite di test del modulo personalizzato.
  • Corri drush coder-review.

Ecco un modello build.xml commentato per l'utilizzo di Drush in Jenkins.


Significa che l'ambiente CI è sullo stesso computer del tuo server PHP? Non capisco come riesci a copiare le tue fonti in siti / all / modules / custom (ad esempio). Questo probabilmente perché non so come funziona drush ... ma da nessuna parte vedo l'equivalente dell'attività scp / ftp dal tuo CI Plateform a Php one.
Jean-Rémy Revy,

1
Sì, il server CI e il server web che servono il sito di test si trovano sulla stessa macchina. Ovviamente potresti anche copiare il file dallo spazio di lavoro CI sull'host del server web. Il comando rsync di Drush potrebbe essere usato per questo. Quindi Drush può essere utilizzato per eseguire il comando sul computer che ospita il server web.
Pierre Buyle,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.