.

Co to jest lokalne środowisko programistyczne i jak je wygenerować?

Podczas tworzenia oprogramowania wykorzystujemy wiele środowisk. Najbardziej dbamy o środowisko produkcyjne, które jest dostępne dla wszystkich użytkowników. Na środowisku testowym sprawdzamy, czy zmiany, które wprowadzamy działają tak, jak powinny. Jest również środowisko lokalne - można powiedzieć, że to najważniejsze. To od niego zaczyna się tworzenie aplikacji i jej utrzymywanie. Czym dokładnie jest, co nam daje i jak je wygenerować? Przejdźmy do konkretów.

Co to jest lokalne środowisko programistyczne?

Jest to grupa serwisów na Twoim komputerze, która pozwoli Ci uruchomić aplikację, którą tworzysz. Jest to bezpieczne miejsce, w którym możesz eksperymentować, bez obawy o to, że cokolwiek zepsujesz. Środowisko lokalne jest dostępne tylko dla Ciebie, a każda zmiana w nim może zostać cofnięta bez żadnych konsekwencji. Dodatkowo środowisko to powinno jak najbardziej przypominać środowisko testowe i produkcyjne. Wszystko po to, aby uniknąć nieprzyjemnych sytuacji podczas wdrożeń właśnie na te środowiska.

Na lokalnym środowisku często także instalujemy dodatkowe moduły, pozwalające na łatwiejsze pisanie i debugowanie naszego kodu. Brzmi fajnie? Przejdźmy zatem do kolejnego punktu.

Jak skonfigurować lokalne środowisko programistyczne?

Na początek zastanówmy się, czego będziemy potrzebować. W tym artykule skupimy się na uruchomieniu Drupala. Jest to aplikacja webowa, więc na pewno będziemy potrzebować serwera WWW. Tutaj do wyboru mamy dwa popularne rozwiązania - Apache oraz Nginx. Do tego Drupal jest napisany w języku PHP, więc przyda nam się jego interpreter. Na koniec dodajmy do tego jakąś bazę danych, bo gdzieś musimy trzymać nasze dane, prawda? Tym sposobem mamy już trzy serwisy, które potrzebujemy, aby rozpocząć naszą zabawę. Możemy je zainstalować z osobna i skonfigurować jeden po drugim. To zadziała, ale nie musimy się tak męczyć. Ktoś już to zrobił za nas.

Narzędzia do generowania lokalnego środowiska programistycznego

Są to gotowe rozwiązania, które w kilku krokach utworzą nasze upragnione środowisko lokalne. Dodatkowo dadzą nam interfejs do zarządzania nim. Zerknijmy, co mamy do wyboru.

Lando

Lando jest jednym z narzędzi, które w kilku prostych krokach wygeneruje nam gotowe środowisko. Oparte jest o Dockera i Docker Compose. Daje nam poziom abstrakcji nad tymi narzędziami, przez co użycie ich staje się łatwiejsze. Jak zatem utworzyć to środowisko? Użyjemy jednej, lekko długiej komendy.

mkdir my-drupal-environment \
  && cd my-drupal-environment \
  && lando init \
    --source remote \
    --remote-url https://www.drupal.org/download-latest/tar.gz \
    --remote-options="--strip-components 1" \
    --recipe drupal9 \
    --webroot . \
    --name my-drupal-environment

Gdy wszystko pójdzie zgodnie z planem, powinniśmy zobaczyć taką wiadomość:

Komunikat, który widzimy po utworzeniu lokalnego środowiska programistycznego przy użyciu Lando

 

Co dalej? To proste, musimy wystartować nasze środowisko. W jaki sposób? Użyjemy polecenia lando start, które uruchomi nam potrzebne kontenery Dockera. Po wszystkim zostajemy z wiadomością:

Komunikat, który pokazuje się po wystartowaniu lokalnego środowiska programistycznego z Lando

 

Po wejściu w link, który da nam Lando, zauważymy stronę instalacyjną Drupala. Oznacza to, że lokalne środowisko, stworzone przy użyciu Lando, jest gotowe. Teraz możemy kontynuować development naszej aplikacji. Więcej informacji na temat Lando można znaleźć w oficjalnej dokumentacji.

Ddev

To narzędzie jest właściwie bezpośrednią konkurencją dla Lando. Tak samo jak rozwiązanie powyżej, Ddev korzysta z dobrodziejstw Dockera i Docker Compose. Stwórzmy zatem środowisko z użyciem tego narzędzia!

Zacznijmy od utworzenia instalacji Drupala. Skorzystamy tutaj z Composera.

composer create-project drupal/recommended-project my-local-drupal-install

cd my-local-drupal-install

Teraz uruchomimy polecenie Ddev config.

ddev config
Uruchamianie polecenia Ddev config do utworzenia lokalnego środowiska programistycznego z Ddev

 

To narzędzie jest na tyle sprytne, że samo wykrywa sobie, gdzie jest nasz katalog docroot oraz jakiego typu jest to projekt. Właściwie jedyne co musimy klikać to enter. Teraz, zgodnie z zaleceniem, wpiszmy ddev start. Nastąpi pobranie wymaganych obrazów oraz utworzenie kontenerów. Wynik tego polecenia wygląda mniej więcej tak:

Wynik polecenia ddev start, które pobiera potrzebne obrazy i tworzy niezbędne kontenery

 

Możemy zauważyć tutaj adres do naszej witryny, a to oznacza że nasze środowisko jest gotowe! Polecamy zapoznać się z dokumentacją tego narzędzia, aby zgłębić więcej szczegółów.

Xampp

Xampp jest prostym oprogramowaniem które uruchamia potrzebne nam serwisy, bezpośrednio na naszym komputerze. Zaletą tego narzędzia jest mniejsze zużycie zasobów naszego komputera, łatwość instalacji oraz działania. Minusem jest to, że często jesteśmy ograniczeni do jednego działającego środowiska w danym momencie. Dwa poprzedzające rozwiązania teoretycznie (bo w pewnym momencie zabraknie nam zasobów sprzętowych) dają nam możliwość tworzenia i używania nieskończonej ilości środowisk.

Po uruchomieniu Xamppa naszym oczom ukaże się taki panel:

Panel powitalny w Xampp – narzędziu do generowania lokalnego środowiska programistycznego

 

Przechodząc do zakładki Manage Servers, zauważymy trzy pozycje.

MySQL Database, ProFTPD i Apache Web Server w zakładce Manage Servers w Xampp

 

Uruchomimy Apache Web Server oraz MySQL Database. Gdy usługi wystartują, kropki obok nich powinny świecić się na zielono.

Zakładka Manage Servers w Xampp, która pokazuje uruchomione i zatrzymane usługi

 

Teraz musimy przerzucić pliki do folderu Xamppa. Na stronie powitalnej klikamy Open Application Folder i przechodzimy do katalogu htdocs. Teraz pobieramy plik zip zawierający instalację Drupala. Następnie usuwamy wszystko z folderu htdocs i wypakowujemy tam pliki z archiwum zip. Pamiętajmy o tym, aby plik index.php znajdował się bezpośrednio w katalogu htdocs. Przejdźmy teraz w przeglądarce na adres http://localhost. Gotowe! Nasze środowisko lokalne tylko czeka na owocny development!

Mamp

To narzędzie jest bardzo zbliżone do Xamppa. Różnicą jest to, że Mamp jest głównie nakierowany na użytkowników MacOS i Windows. Nie jest dostępny na Linuxa. Po uruchomieniu tej aplikacji automatycznie wystartują nam potrzebne serwery WWW i MySQL.

Widok startowy Mamp – narzędzia do tworzenia lokalnego środowiska programistycznego

 

Po przejściu w przeglądarce na stronę localhost ujrzymy prostą stronę powitalną. Będzie tam też informacja o lokalizacji katalogu docroot. W naszym przypadku jest to C:/MAMP/htdocs. Mając tę informację, możemy powtórzyć kroki opisane dla Xamppa, ponieważ będą one identyczne.

Docker4Drupal

To rozwiązanie jest przygotowanym zbiorem obrazów, zoptymalizowanych do pracy z Drupalem. Czytając “obrazów” już pewnie wywnioskowaliście, że potrzebujecie do jego działania Dockera i Docker Compose. Aby stworzyć środowisko z użyciem tego narzędzia, zacznijmy od zainicjowania instalacji Drupala przy użyciu Composera.

composer create-project drupal/recommended-project my-local-drupal-install

cd my-local-drupal-install

Teraz pobieramy i wypakowujemy najnowszą wersję Docker4Drupal, dostępną na GitHubie. Przenosimy wszystkie pliki z archiwum do folderu naszego projektu. Usuwamy plik docker-compose.override.yml. Otwieramy plik .env. Możemy w nim ustawić nazwę naszego projektu, adres url, dane dostępowe do bazy danych, wersję PHP i wiele innych. Gdy już uporamy się z konfiguracją, uruchamiamy polecenie make up. Po wszystkim nasza strona będzie dostępna pod adresem ustawionym w pliku .env (domyślnie drupal.docker.localhost:8000). Za nami postawienie piątego i ostatniego w tym artykule środowiska. Dobra robota!

Lokalne środowisko programistyczne - podsumowanie

Lokalne środowiska programistyczne są niezbędne podczas tworzenia i rozwijania aplikacji. To na nich bezpiecznie tworzymy kod, bez obaw o działanie głównego serwisu, dostępnego dla użytkowników. Jak widzicie, utworzenie takiego środowiska nie jest trudne, dlatego, jeśli jeszcze go nie używacie, serdecznie polecamy to rozwiązanie. Polepszenie jakości i szybkości pracy gwarantowane!

A jeśli interesuje Was temat Drupala, sprawdźcie, co robimy w ramach tworzenia stron internetowych na Drupalu.

3. Najlepsze praktyki zespołów programistycznych