Laravel jest frameworkiem na licencji OpenSource pozwalającym tworzyć aplikacje webowe korzystające z mechanizmu MVC (Symfony Model-View-Controller). To bardzo popularne rozwiązanie cenione przez developerów na całym świecie głównie za możliwość błyskawicznego tworzenia i uruchamiania aplikacji.

 

W środowisku Laravel kod samego frameworka jest odseparowany od kodu developera, a każdy komponent może być łatwo rozbudowywany. Rozwiązanie wspiera pracę z wieloma bazami danych, pozwala wysyłać notyfikacje różnymi kanałami (mail, slack) i wspiera technologię websocketów na potrzeby tworzenia prawdziwie interaktywnych aplikacji.

Instalacja frameworka Laravel na platformie UniCloud

1. Przejdź do panelu swojej usługi UniCloud i zainstaluj framework Laravel z katalogu aplikacji.

2. W oknie instalacji podaj nazwę środowiska i nazwę projektu.

3. Instalacja może zająć chwilę.

4. Po jej zakończeniu możesz otworzyć domyślną stronę nowego projektu we Frameworku korzystając z odpowiedniego przycisku.

5. Strona startowa zawiera kilka podstawowych informacji związanych z pracą we frameworku Laravel.

Nowy projekt w Laravel

Nowy projekt w środowisku Laravel będzie zupełnie niezależny od tego, który został uruchomiony wraz z instalacją środowiska.

1. Dodaj węzeł silnikiem baz danych do środowiska Laravel. Aby to zrobić, kliknij ikonkę Zmień topologię środowiska i dodaj węzeł bazodanowy, np. MySQL.

Ważne: Jeśli zdecydujesz się użyć klastra MariaDB/MySQL z ProxySQL, musisz wybrać określone wersje silników: MariaDB w wersji co najmniej 10.2 lub MySQL w wersji co najmniej 5.7.

Na tym ekranie ustaw odpowiednie ilości Cloudletów dla skalowania pionowego i zastosuj zmiany. Po utworzeniu węzła z bazą danych, pojawi się on w szczegółach Twojego środowiska. Dane dostępowe do bazy otrzymasz na adres e-mail.

2. Możesz zaoszczędzić czas korzystając z gotowego skryptu newdb-project.sh. Jest on dostępny w katalogu głównym, zaraz po instalacji środowiska. Możesz go także pobrać z tego adresu. Skrypt wykona następujące czynności:

  • utworzy nowy projekt Laravel,
  • utworzy bazę danych z tabelami i przykładowymi danymi,
  • przygotuje formularz do wprowadzania danych,
  • wprowadzi odpowiednie przekierowania do pliku web.php,
  • wyświetli danych z tabel w bazie na ekranie startowym projektu,
  • doda przycisk „Zastąp URLe” do strony startowej projektu w cełu łatwej podmiany przykładowych danych w bazie projektu.

3. Aby utworzyć nowy projekt połączony z bazą danych, potrzebujesz konsoli – możesz skorzystać z klienta WebSSH wbudowanego w panelu usługi UniCloud. Po zalogowaniu wykonaj polecenia:

~ $ cd webroot/ROOT/
~ /webroot/ROOT $ ./newdb-project.sh root

Skrypt poprosi o podanie kilku wartości konfiguracyjnych, m.in. :

  • nazwa projektu: nazwa musi zaczynać się wielką literą,
  • host (serwer) bazy danych (np. my463543.unicloud.pl),
  • nazwę bazy danych (w powyższym przykładzie wpisaliśmy: root – zastąp tę nazwę właściwą dla swojego węzła),

Jeśli stworzyłeś klaster bazodanowy (master-master, lub klaster galera z replikacją), możesz zapewnić swojej usłudze pracę w trybie HA (high availability) korzystając z usługi DNS Round Robin. W tym celu potrzebujesz utworzyć tzw. warstwy nazw (https://docs.jelastic.com/container-dns-hostnames#layer-hostnames) jako punkty wejściowe do węzłów, np.:

  • sqldb.laravel.jelastic.cloud (dla aplikacji z pojedynczą bazą danych)
  • proxy.laravel.jelastic.cloud (dla aplikacji, gdzie działać będzie lod balancer dla serwera SQL).

Kolejność adresów IP będzie cyklicznie zmieniana, tak aby zapewnić równy rozkład obciążenia pomiędzy wszystkimi węzłami w klastrze bazodanowym.

4. Po zakończeniu pracy skryptu możesz przejść do strony głównej projektu korzystając z adresu w postaci: http://<domain>/<Myproject>/public/

Odnośniki w naszym nowym projekcie zostały uzupełnione przykładowymi danymi, które skrypt załadował automatycznie. Możesz zmienić te adresy bezpośrednio w bazie danych projektu.

 

Własny projekt / aplikacja w Laravel

Po przygotowaniu środowiska Laravel możemy przystąpić do tworzenia pierwszej, własnej aplikacji. W tym celu potrzebujemy zestawić połączenie z naszym lokalnym komputerem przy użyciu serwera GIT oraz wbudowanej w UniCloud technologii automatycznego wdrażania aplikacji. W przykładzie poniżej posłużymy się komputerem z systemem Linux.

1.  Utwórz nowe repozytorium na GitHub i nadaj mu nazwę (np. MyprojectCICD).

2. Sklonuj repozytorium do systemu na komputerze lokalnym poleceniem:

~$ git clone https://github.com/user/MyprojectCICD

3. Skopiuj zawartość katalogu Myproject utworzonego na serwerze UniCloud do repozytorium MyprojectCICD.x

  • Zaloguj się do serwera aplikacji poprzez konsolę SSH i wykonaj poniższe polecenia, aby utworzyć odpowiednie archiwum tar:

~$ cd ~/webroot/ROOT/Myproject

~/webroot/ROOT/Myproject$ tar -cf myproject.tar

 

  • Pobierz archiwum myproject.tar na komputer lokalny

  • wypakuj zawartość pobranego pliku do katalogu z repozytorium na Twoim komputerze korzystając z polecenia:

~/Downloads $ tar -xf myproject.tar -C /home/user/MyprojectCICD

4. Wypchnij zmiany repozytorium na GitHub poleceniem:

~/Downloads $ cd /home/user/MyprojectCICD

~/MyprojectCICD $ git add -f .

~/MyprojectCICD $ git commit -am “All files of Myproject added to repository”

~/MyprojectCICD $ git push

5. Kliknij na ikonkę ‘Wyślij do serwera aplikacyjnego Git/SVN’ , aby skonfigurować powiązanie. Szczegóły konfiguracji znajdziesz w dokumentacji Jelastic pod tym adresem: https://docs.jelastic.com/git-svn-auto-deploy

Po kliknięciu przycisku, katalog root/ zostanie wyczyszczony, a jego zawartość uzupełniona danymi z repozytorium projektu MyprojectCICD. Lokalny projekt w Laravel został zsynchronizowany z projektem w chmurze i od tej pory jest już dostępny pod nowym adresem, np.: http://laravel.jelastic.cloud/public

Od tej pory możesz kontynuować tworzenie aplikacji na lokalnym komputerze, zapisywać i wysyłać zmiany na GitHub. Platforma UniCloud będzie automatycznie pobierała zmiany i wyświetlała zawsze najbardziej aktualną wersję aplikacji. Wystarczy odświeżyć stronę w przeglądarce.

 

To krótkie wprowadzenie do rozpoczęcia pracy z frameworkiem Laravel dla użytkowników platformy UniCloud. Nie masz jeszcze konta na naszej platformie?