Esse action realiza o deploy automatizado de arquivos para um servidor remoto via SSH. É útil para projetos onde você deseja publicar arquivos (como sites, sistemas, APIs ou assets) diretamente de um repositório do GitHub.
- Executar comandos antes do deploy.
- Enviar diretórios ou arquivos para o servidor.
- Executar comandos após o deploy.
- name: Deploy
uses: evandrosystems/deploy@main
with:
host: 192.168.0.1
user: root
key: ${{ secrets.KEY }}
key-permission: 400
data: /dist
dir: /home/portfolio
port: 22
before-commands: |
cd /home/portfolio
chmod -R 755 uploads
after-commands: |
cd /home/portfolio
php artisan migrate
exclude: |
.git
node_modules
.github
.dockerParâmetros obrigatórios:
-
host: Endereço IP ou domínio do servidor para onde os arquivos serão enviados. -
user: Nome do usuário usado na conexão com o servidor. -
key: Chave privada SSH. -
data: Caminho local do arquivo ou diretório que será enviado para o servidor. -
dir: Caminho absoluto no servidor onde os arquivos serão salvos.
Parâmetros opcionais:
-
port: (padrão:22) Porta usada para a conexão SSH. -
key-permission: (padrão: 600) Permissão atribuída à chave privada. -
before-commands: Comandos executados remotamente antes do envio dos arquivos. -
after-commands: Comandos executados após o envio dos arquivos. -
exclude: Lista de arquivos ou pastas que não devem ser enviados no deploy.
- Verifique se a chave pública está correta no servidor.
- Confirme se você está usando a chave privada correspondente no GitHub Secret.
- Verifique o valor de
dir. O caminho precisa existir ou ter permissão de escrita. - Use
before-commandspara criar diretórios, se necessário.
- Nunca compartilhe a chave privada.
- Use um usuário específico no servidor com permissões limitadas para deploy.
- Mantenha seu repositório e secrets privados, se possível.
MIT © evandrosystems