deploy-sftp
v2.2.19
Published
This package is an automated deployment script for Vue.js projects. It enables deployments to development and production environments using Git and SFTP.
Readme
🚀 deploy-sftp
Um CLI para automação de deploy de projetos Vue.js via Git e SFTP.
Ele faz build, gerencia tags/branches e envia os arquivos para servidores de desenvolvimento e produção.
📋 Sumário
🔍 Recursos
- Menu interativo para escolher ambiente:
todos,devouprod - Build do projeto (
yarn buildounpm run build) - Git flow completo: clone em pasta temporária, commit, tag, push
- Upload de diretórios via SFTP com feedback em tempo real
- Suporte a flags:
-g, --git→ apenas fluxo Git (inclui build)-s, --sftp→ apenas upload SFTP (inclui build)-v, --version→ exibe a versão instalada-h, --help→ exibe esta ajuda
⚙️ Pré-requisitos
- Node.js ≥ 14
- Yarn ou npm
- Acesso Git ao repositório remoto
- Acesso SFTP ao servidor de destino
📥 Instalação
Instale globalmente para usar o comando deploy-sftp ou o alias deploy de qualquer lugar:
npm install -g deploy-sftp
# ou
yarn global add deploy-sftpIsso cria dois comandos no seu PATH:
deploy-sftpdeploy
Ou adicione como dependência de desenvolvimento no seu projeto:
npm install --save-dev deploy-sftp
# ou
yarn add --dev deploy-sftpTodas as dependências (
dotenv,ssh2-sftp-client,yargs,inquirer,ora) são instaladas automaticamente.
🔧 Configuração
- Na raiz do seu projeto Vue, crie um arquivo
.envcom as variáveis abaixo. - Ajuste valores de URL do repositório, credenciais Git e SFTP.
# Repositório Git
VITE_REPO_URL=https://github.com/usuario/projeto.git
[email protected]
VITE_GIT_USER=Seu Nome
# Build
VITE_BUILD_FOLDER=dist
# Ambiente DEV
VITE_FTP_HOST_DEV=dev.exemplo.com
VITE_FTP_PORT_DEV=22
VITE_FTP_USER_DEV=usuario_dev
VITE_FTP_PASS_DEV=senha_dev
VITE_FTP_DIRR_DEV=/var/www/dev
# Ambiente PROD
VITE_FTP_HOST_PROD=prod.exemplo.com
VITE_FTP_PORT_PROD=22
VITE_FTP_USER_PROD=usuario_prod
VITE_FTP_PASS_PROD=senha_prod
VITE_FTP_DIRR_PROD=/var/www/prodImportante:
VITE_BUILD_FOLDERdeve ser o diretório gerado peloyarn build.VITE_REPO_URLpode ser HTTPS ou SSH. Se for Bitbucket HTTPS, o script converterá para SSH automaticamente.
🚀 Uso
Via npx / NPX
npx deploy-sftp
# ou
npx deployCom pacote instalado globalmente
deploy-sftp
# ou
deployComo script no package.json
Adicione em "scripts":
{
"scripts": {
"deploy": "deploy-sftp",
// ou
"deploy": "deploy"
}
}E então:
npm run deploy
# ou
yarn deploy🏳️ Flags disponíveis
-g, --git→ somente fluxo Git (build + gitFlow)-s, --sftp→ somente upload SFTP (build + sftpUpload)-v, --version→ exibe a versão do CLI-h, --help→ exibe esta ajuda
🛠️ Exemplos de uso
# deploy completo (build + gitFlow + sftpUpload)
deploy
# apenas Git flow
deploy -g
# ou
deploy --git
# apenas SFTP
deploy -s
# ou
deploy --sftp
# ver versão
deploy -v
# ver ajuda
deploy -h⚙️ Fluxo de Deploy
- Menu interativo para escolher ambiente:
todos,devouprod. - Executa build do Vue (
yarn build). - Clona branch alvo em pasta temporária.
- Substitui conteúdo por build atual.
- Configura Git (usuário/email).
- Seleciona ou cria nova tag.
- Commit + tag + push para repositório remoto.
- Realiza upload dos arquivos build via SFTP.
- Remove pasta temporária e encerra.
📄 Licença
Unlicense
😁 Feito por Marcos Paulo
https://marcospaulo.dev
