https://github.com/prhost/ssh-deploy
Docker image para copiar arquivos (rsync) e executar comandos remotamente (SSH)
https://github.com/prhost/ssh-deploy
deploy docker gitlab-ci rsync ssh
Last synced: 4 months ago
JSON representation
Docker image para copiar arquivos (rsync) e executar comandos remotamente (SSH)
- Host: GitHub
- URL: https://github.com/prhost/ssh-deploy
- Owner: prhost
- Created: 2018-03-20T23:31:07.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-16T14:33:42.000Z (about 3 years ago)
- Last Synced: 2025-04-12T15:56:54.820Z (9 months ago)
- Topics: deploy, docker, gitlab-ci, rsync, ssh
- Language: Shell
- Homepage:
- Size: 28.3 KB
- Stars: 9
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Docker image para copiar arquivos (rsync) e executar comandos remotamente (SSH)
## Exemplo de uso no Gitlab CI
```yaml
Upload files:
image: "prhost/ssh-deploy"
variables:
HOST: "servidor.com.br" # host ou ip do servidor
IP: "111.111.111.111" # ip do servidor
SSHKEY_PRIVATE: $SSH_PRIVATE_KEY # texto da chave privada. Recomendado usar variables do Gitlab
USER_HOST: "root" # usuario do ssh
PUBLIC_DIRECTORY: "/var/www/html" # pasta inicial onde o ssh vai se conectar
SOURCE_DIR: $CI_PROJECT_DIR # pasta do projeto no gitlab
IGNORE_FILES: ".env.example .git/ .gitignore" # Define quais arquivos gostaria de ignorar no upload
DELETE: "true" # Se true, vai sobrescrever os arquivos e pastas existentes, se false vai mesclar com os arquivos e pastas
FILES: "index.php .htaccess app/ vendor/" # Arquivos e pastas que devem ser copiadas
script:
- ssh-deploy
Execute remote command:
image: prhost/ssh-deploy
variables:
HOST: "servidor.com.br" # host ou ip do servidor
IP: "111.111.111.111" # ip do servidor
SSHKEY_PRIVATE: $SSH_PRIVATE_KEY # texto da chave privada. Recomendado usar variables do Gitlab
USER_HOST: "root" # usuario do ssh
SOURCE_DIR: $CI_PROJECT_DIR # pasta do projeto no gitlab
EXEC_SCRIPT: "ls -la"
script:
- ssh-exec
```
***O comando `ssh-deploy` necessita de RSYNC do lado do servidor remoto.***
***Também existe o comando `scp-deploy` que pode ser usado no lugar do `ssh-deploy`. É usado mais quando não se tem RSYNC e não pode ser instalado (no caso de hospedagens compartilhadas).***
### Pacotes usados
* https://github.com/Gruppio/Echolor