W jaki sposób drush i jenkins są używane do ciągłej integracji?


30

Często słyszę bzyczące słowa: „ciągła integracja”, „drush” i „jenkins”. W ten sposób wzbudzając moje zainteresowanie.

W jaki sposób drush i jenkins są używane do ciągłej integracji?

Ponadto, dlaczego miałbyś chcieć używać drusha i jenów razem?

Odpowiedzi:


20

Do moich projektów używam skryptu kompilacji utworzonego z poleceń Drusha w zadaniu Jenkinsa. Używam mojego projektu Phing Drush Task do uruchamiania Drusha ze skryptu budowania Phing . To pozwala mi wykorzystać istniejące zadania Phing (np. Kopiowanie plików, phplint itp.). Z pomocą Drusha ten skrypt kompilacji

  • Pobiera wszystkie niestandardowe kody (tj. Rdzeń Drupal oraz moduł i motywy do wkładu ) za pomocą Drush Make to./dist
  • Rozwija symbole zastępcze w wersji settings.php(tj. Zastąp ${db_host}rzeczywistą nazwą hosta DB) podczas kopiowania do świeżo pobranego ./dist/sites/defaultfolderu.
  • Skopiuj niestandardowe moduły i motywy do ./dist/sites/all/modules/customi./dist/sites/all/themes/custom
  • Uruchom phplintdla wszystkich plików z moich niestandardowych modułów i motywów.
  • Skopiuj wszystko ./distdo wstępnie skonfigurowanego katalogu głównego.
  • Uruchom drush site-install testingi drush pm-enable simpletestzainstaluj nową witrynę, korzystając z bazy kodu kompilacji i będącej w stanie uruchomić SimpleTest.
  • Uruchom, drush test-runaby uruchomić moje niestandardowe zestawy testów modułów.
  • Uruchom drush coder-review.

Oto skomentowany szablon build.xml do użycia Drusha w Jenkins.


Czy to oznacza, że ​​twoje środowisko CI jest na tym samym komputerze, co twój serwer php? Nie rozumiem, jak udaje ci się skopiować własne źródła w witrynach / wszystkich / modułach / niestandardowych (na przykład). Jest tak prawdopodobnie dlatego, że nie wiem, jak działa drush ... ale nigdzie nie widzę odpowiednika zadania scp / ftp z CI Plateform do Php one.
Jean-Rémy Revy

1
Tak, serwer CI i serwer WWW obsługujący witrynę testową znajdują się na tym samym komputerze. Oczywiście możesz również skopiować plik z obszaru roboczego CI na host serwera WWW. Można do tego użyć komendy rsync Drusha. Następnie Drush może zostać użyty do uruchomienia polecenia na maszynie obsługującej serwer WWW.
Pierre Buyle,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.