57 lines
1.8 KiB
YAML
57 lines
1.8 KiB
YAML
name: Compilar y subir al Servidor
|
|
|
|
on:
|
|
pull_request:
|
|
types: [labeled]
|
|
|
|
jobs:
|
|
check-version-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 2
|
|
|
|
- name: Obtener versión del package.json
|
|
run: |
|
|
git show HEAD:package.json > current_package.json
|
|
git show HEAD~1:package.json > previous_package.json
|
|
|
|
- name: Compara versiones del proyecto
|
|
id: compare_versions
|
|
run: |
|
|
current_version=$(jq -r .version current_package.json)
|
|
previous_version=$(jq -r .version previous_package.json)
|
|
if [ "$current_version" != "$previous_version" ]; then
|
|
echo "Versión cambiada de $previous_version a $current_version"
|
|
echo "version_changed=true" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "La versión no ha cambiado"
|
|
echo "version_changed=false" >> $GITHUB_OUTPUT
|
|
fi
|
|
- 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: Instalar ssh
|
|
run: 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 |