Looking to hire Laravel developers? Try LaraJobs

laravel-deploy maintained by dougkusanagi

Description
Simple configurable deployment runner for Laravel applications
Last update
2026/09/21 14:37 (dev-main)
License
Downloads
5

Comments
comments powered by Disqus

Laravel Deploy

Executor de deploy simples para aplicações Laravel em servidores Linux.

Instalação

composer require dougkusanagi/laravel-deploy:^0.2
vendor/bin/deploy init

Se o pacote ainda não estiver disponível no Packagist, registre o repositório do GitHub antes de instalar:

composer config repositories.laravel-deploy vcs https://github.com/dougkusanagi/laravel-deploy.git
composer require dougkusanagi/laravel-deploy:^0.2

Edite deploy.config.sh e execute:

vendor/bin/deploy

O pacote também aceita ./deploy.sh quando o projeto mantém um wrapper na raiz.

Configuração

deploy.config.sh é um arquivo Bash confiável carregado antes da atualização do Git. A configuração mínima é:

DEPLOY_BRANCH="${DEPLOY_BRANCH:-main}"
PHP_FPM_SERVICE="${PHP_FPM_SERVICE:-php8.5-fpm}"
WEB_SERVICE="${WEB_SERVICE:-caddy}"
FRONTEND_INSTALL=(npm ci)
FRONTEND_BUILD=(npm run build)

Defina os arrays de frontend como vazios para desativar essas etapas:

FRONTEND_INSTALL=()
FRONTEND_BUILD=()

Também é possível usar as variáveis DEPLOY_BRANCH, PHP_FPM_SERVICE, WEB_SERVICE, DEPLOY_CONFIG_FILE e HEALTHCHECK_URL.

Etapas

O executor exige uma árvore Git limpa, impede dois deploys simultâneos, atualiza a branch configurada com fast-forward, instala dependências PHP sem dev, executa as etapas de frontend, roda migrations isoladas, cria o link de storage, recria caches, recarrega os serviços e verifica a inicialização do Laravel. HEALTHCHECK_URL adiciona uma verificação HTTP.

O deploy altera o diretório atual da aplicação. Falhas não desfazem arquivos ou migrations já aplicados; investigue o problema antes de tentar novamente.

Requisitos

  • Linux com Bash e flock;
  • Git e um remote chamado origin;
  • PHP e Composer;
  • Node/npm ou outra ferramenta configurada nos arrays de frontend;
  • sudo e systemctl quando serviços forem configurados.