Posted on: October 24, 2022 10:56 PM
Posted by: Renato
Views: 2254
Laravel 8 Sail
O que é Laravel Sail?
Laravel Sail é uma interface de linha de comando que permite criar e gerenciar seu aplicativo Laravel no ambiente docker. Se você não sabe nada ou sabe um pouco sobre o docker, esta interface de linha de comando permite gerenciar seu ambiente do docker local.
Como funciona o Laravel Sail?
A vantagem de usar o sail é que todas as dependências do seu projeto são gerenciadas pelo docker. Por exemplo: se seu projeto requer:
- PHP
- MySQL
- Redis
- Outras dependências
O Sail instalará todas as dependências do seu projeto usando o docker nos bastidores. Você não precisa instalar nenhuma das dependências acima em sua máquina local para trabalhar com o projeto Laravel.
Vejamos o diagrama a seguir para entender como o Laravel Sail funciona:
Em seu projeto Laravel Sail você encontrará um arquivo chamado docker-compose.yml. Este arquivo basicamente define diferentes serviços que seu projeto requer. Por exemplo, se o seu projeto Laravel requer:
- PHP
- MySQL
- Redis
Então você verá todas as dependências acima em serviços no arquivo docker-compose.yml. Basicamente, ele diz às velas que eu quero criar todos os contêineres mencionados em serviços no arquivo docker-compose.yml.
Quando o sails for executado, ele extrairá todas as imagens necessárias do dockerhub e, em seguida, criará um contêiner para cada serviço definido em seu arquivo docker-compose.yml. Você pode adicionar mais serviços se precisar com base em seu projeto, aprenderemos sobre eles em detalhes posteriormente neste tutorial.
Você economiza muito tempo descobrindo a instalação local para php, redis ou mysql ou algumas outras dependências em sua máquina.
Como instalar o Laravel Sail?
Você precisa ter as seguintes dependências instaladas em sua máquina mac ou linux antes de prosseguir com o Laravel Sail:
Depois de instalar as dependências acima, vamos começar a instalar um novo projeto laravel usando o Laravel Sail. Abra sua janela de terminal e execute os seguintes comandos um por um:
# install laravel using curl # change example-app to your project name curl -s "https://laravel.build/example-app" | bash # once installed run docker containers using ./vendor/bin/sail up # to destroy running container run ./vendor/bin/sail down
Até agora, você instalou o projeto Laravel usando o script bash fornecido pelo Laravel. Depois que o projeto for instalado localmente, você encontrará velas no seguinte local:
./vendor/bin/sail
Como instalar o Laravel Sail em um projeto Laravel existente?
Se você já possui o projeto Laravel e não está usando o Laravel Sail, você pode basicamente executar os seguintes comandos para instalar o Sail em seu projeto existente:
# install composer dependency for sail composer require laravel/sail --dev # publish Sail's docker-compose.yml file to the root of your application php artisan sail:install
Como executar seu aplicativo Laravel usando o Sail?
Depois de instalar o Sail em seu projeto Laravel, você precisa conhecer alguns dos seguintes comandos importantes para interagir com seu aplicativo Laravel dockerizado.
Lembre-se de que todos os seus serviços são executados em diferentes contêineres do docker e, portanto, você não poderá executar comandos do Laravel diretamente do seu terminal, portanto, usamos a interface de linha de comando Sail.
O Laravel Sail basicamente permite que você execute comandos dentro do seu contêiner em execução sem fazer login no contêiner usando ssh. Você entenderá o que quero dizer com isso quando começarmos a executar os seguintes comandos:
# Run Laravel Project Locally # Following command will run all containers # Defined in docker-compose.yml file ./vendor/bin/sail up # If you want to stop all running containers ./vendor/bin/sail stop # To check what containers are running run # It will list all containers if any of them running ./vendor/bin/sail # To destroy your running laravel app run # This command will destroy all of your docker containers ./vendor/bin/sail down # If you want to run unit tests ./vendor/bin/sail test ./vendor/bin/sail test --group orders
Como executar comandos artesanais do Laravel usando o Sail?
Como eu disse anteriormente, seus serviços são executados dentro de contêineres do docker e, portanto, a execução do comando Laravel artisan não funcionará se você estiver usando o Laravel Sail, no entanto, usando o sail, você pode executar todos os seus comandos do artisan.
Aqui está como você pode executar o artisan ou outros comandos usando o Laravel Sail:
# run artisan command using sail # use following syntax for your artisan commands ./vendor/bin/sail artisan <command> # example ./vendor/bin/sail artisan queue:work # if you want to execute php command or script use # following syntax for php commands ./vendor/bin/sail php <command> # example ./vendor/bin/sail php --version # to run composer commands using sail # use following syntax ./vendor/bin/sail composer <command> # exaamples ./vendor/bin/sail composer install ./vendor/bin/sail composer update ./vendor/bin/sail composer require laravel/sanctum # if your project runs on npm or node or yarn use # following sytaxes ./vendor/bin/sail npm <command> ./vendor/bin/sail yarn <command> ./vendor/bin/sail node <command> # examples ./vendor/bin/sail yarn install ./vendor/bin/sail npm install ./vendor/bin/sail node --version # if you want to ssh into container ./vendor/bin/sail bash # if you want to check container logs ./vendor/bin/sail logs -f # if you want to restart specific service ./vendor/bin/sail restart <service_name> ./vendor/bin/sail restart mysql
Espero que você goste deste tutorial,
Fonte: https://learn2torials.com/a/what-is-laravel-sail
Donate to Site
Renato
Developer