Deploy+
Deploy+.
Do push à produção.
- 01 Push
- 02 Build
- 03 Publicar
- 04 Online
$
à espera de alterações…
Versões
- atual rollback
Cada versão é guardada: voltar atrás é um clique, sem interrupção.
Um git push
e a implementação arranca sozinha, sem entrar no painel
Sem downtime
a versão nova é publicada ao mudar uma ligação
Rollback em segundos
volta a qualquer versão anterior a partir do histórico
Sem custo
incluído em todos os planos de alojamento
Funciona com o seu Git, esteja onde estiver
Como funciona
Quatro passos, e não volta a mexer neles.
Ligue
O seu repositório, esteja onde estiver
também nas contas de um plano Multiconta
Cinco fornecedores, um destino
por HTTPSPush
Faça push e a implementação arranca sozinha
- O habitual
- Enviar ficheiros à mão e cruzar os dedos
- Aqui
- Um push, e o GitHub avisa o servidor
Do push à implementação
webhook assinadoPublica
Implementação atómica, sem interrupção
0 s
de interrupção: a versão nova é publicada ao mudar uma ligação
Implementação atómica
~/deploy/tienda/releases/
├─ 20260904-1830 · publicada
└─ 20260905-1012 · a clonar e a executar o script…
shared/
├─ .env → ligado em cada versão
└─ storage/ → ligado em cada versão
current → releases/20260904-1830
Volta atrás
Rollback num clique, a partir do histórico
5 versões
guardadas por defeito; você decide quantas
Histórico de implementações
5 versões guardadasontem 18:30 · e07b9d4
a versão continua no servidor
Assistente
Sabe que projeto é e prepara-o.
-
PHP
Laravel
Composer, caches otimizadas e publicação a partir de public.
- Raiz web
- public/
- Partilhado
- storage
- Base de dados
- prepara-a
- Assets com Node
- se o assinalar
-
PHP
Symfony
Composer, ambiente prod e publicação a partir de public.
- Raiz web
- public/
- Partilhado
- var/log
- Base de dados
- prepara-a
- Assets com Node
- se o assinalar
-
PHP
WordPress
Base de dados, wp-config.php e uploads persistentes.
- Raiz web
- raiz
- Partilhado
- wp-content/uploads, wp-config.php
- Base de dados
- prepara-a
- Assets com Node
- se o assinalar
-
PHP
PHP / Composer
Uma base limpa para aplicações PHP com Composer.
- Raiz web
- raiz
- Partilhado
- —
- Base de dados
- prepara-a
- Assets com Node
- se o assinalar
-
Estático
Frontend compilado
Compila com Node e publica o resultado de dist.
- Raiz web
- dist/
- Partilhado
- —
- Base de dados
- não é necessário
- Assets com Node
- sempre
-
Estático
HTML estático
Publica o repositório tal como está, sem instalar nada.
- Raiz web
- raiz
- Partilhado
- —
- Base de dados
- não é necessário
- Assets com Node
- —
-
Personalizado
Outro projeto
Sem suposições: é você que decide a raiz, o script e a persistência.
- Raiz web
- raiz
- Partilhado
- —
- Base de dados
- prepara-a
- Assets com Node
- se o assinalar
O que inclui
O que é preciso para implementar a sério.
Script e Node
Os seus comandos, em cada versão, com Node se for necessário
se um comando falhar, a versão anterior continua online
Script de implementação
modelo · Laravelcomposer install --no-dev --prefer-dist --optimize-autoloader
npm ci && npm run build # Node instalado pelo NVM se faltar
php artisan migrate --force # opcional: o rollback não desfaz dados
php artisan config:cache && php artisan route:cache
Base de dados
A base de dados, criada ao ligar
MySQL
base de dados, utilizador e ficheiro numa só operação
Base de dados · ao ligar
pronta- Base MySQL vazia mi_app
- Utilizador exclusivo com todas as permissões mi_app_usr
- Ligação escrita em .env sem mexer em nada manualmente
DB_DATABASE=mi_app
DB_USERNAME=mi_app_usr
DB_PASSWORD=•••••••••••• # não é guardado no painel
Configuração
O .env e os uploads sobrevivem a cada versão
- O habitual
- Ficheiros enviados e .env dentro do código, à mercê de cada deploy
- Aqui
- Fora do código: nem um deploy nem um rollback lhes mexem
Partilhado entre versões
~/deploy/tienda/shared/ → releases/20260905-1012/
.enveditável
storage/do perfil
public/uploads/sua
Consola
Consola em direto e comandos sobre o que está publicado
6 passos
ligar, clonar, partilhados, script, ativar, limpar
Executar um comando
sobre current · máx. 2 min~/deploy/tienda/current
$ php artisan queue:restart
Broadcasting queue restart signal.
✓ concluído em 0,4 s
Segurança
Um token com o mínimo, cifrado e fora do registo
revogue-o quando quiser: só deixa de funcionar o deploy
Permissões do token
o mínimo, e cifradoCifrado, apenas para clonar, nunca no registo.
Tudo isto está incluído em todos os planos de alojamento e nas contas de um plano Multiconta, sem custo.
Ler o guia completo →Dúvidas
Antes de ligar o primeiro repositório.
Em que planos está incluído o Deploy+?
Em todos os planos de alojamento, sem custo adicional. A ferramenta está na área de cliente, dentro das opções do seu serviço de alojamento.
Funciona com repositórios privados?
Sim, com repositórios públicos e privados. Em ambos os casos é necessário um token de acesso do GitHub: crie um fine-grained, limitado ao repositório que vai implementar e com as permissões Contents: Read-only e Metadata: Read-only. Não precisamos de permissões de escrita sobre o seu código.
O meu site vai abaixo durante a implementação?
Não. Cada implementação é clonada numa versão nova, os ficheiros partilhados são ligados e os seus scripts são executados antes de a publicar: só quando tudo correu bem é que a ligação simbólica current passa para a versão nova, e essa mudança é instantânea. Se um script falhar, o deploy para e a versão anterior continua online.
Como volto à versão anterior se algo correr mal?
A partir do histórico, com o botão Rollback sobre qualquer deploy anterior. Demora segundos porque não se clona nada: só muda a versão para onde aponta current. Por predefinição são conservadas as 5 últimas versões, e pode ajustar quantas pretende guardar.
Posso executar composer, npm ou comandos do artisan?
Sim. Cada repositório tem um editor de scripts onde define os comandos que são executados em cada versão antes de a publicar: composer install --no-dev, npm run build, php artisan config:cache… O sistema filtra os comandos perigosos. Para usar Node.js e npm, instale-os primeiro a partir do Gestor de pacotes do cPanel.
O que acontece ao .env e às pastas de uploads?
Não se perdem entre implementações. O .env é detetado e preservado automaticamente, e pode adicionar os caminhos que quiser (storage/app, uploads…) como ficheiros partilhados: são guardados à parte e ligados em cada versão nova.