55 lines
1.4 KiB
YAML
55 lines
1.4 KiB
YAML
name: Compilar y Desplegar
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: '22' # Ajusta a la versión de Node.js que necesites
|
|
|
|
- name: Instalar Dependencias
|
|
run: npm ci
|
|
|
|
- name: Compilar
|
|
run: npm run build
|
|
|
|
- name: Archivar build
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: dist
|
|
path: dist
|
|
|
|
deploy:
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Descargar build
|
|
uses: actions/download-artifact@v3
|
|
with:
|
|
name: dist
|
|
path: dist
|
|
|
|
- name: Instalar ssh
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install sshpass
|
|
|
|
- name: Subir al servidor
|
|
env:
|
|
SERVER_IP: ${{ secrets.SERVER_IP }}
|
|
SERVER_USER: ${{ secrets.SERVER_USER }}
|
|
SERVER_PASS: ${{ secrets.SERVER_PASS }}
|
|
DEPLOY_PATH: ${{ secrets.DEPLOY_PATH }}
|
|
run: |
|
|
# Borra la copia anterior
|
|
sshpass -p $SERVER_PASS ssh -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_IP "rm -rf $DEPLOY_PATH/*"
|
|
# Sube la nueva versión
|
|
sshpass -p $SERVER_PASS scp -o StrictHostKeyChecking=no -r dist/* $SERVER_USER@$SERVER_IP:$DEPLOY_PATH |