87 lines
2.8 KiB
YAML
87 lines
2.8 KiB
YAML
name: Deploy to EC2 cotiza
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout código LOCAL
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Configurar SSH para EC2
|
|
run: |
|
|
mkdir -p ~/.ssh
|
|
echo "${{ secrets.EC2_SSH_KEY }}" > ~/.ssh/id_rsa
|
|
chmod 600 ~/.ssh/id_rsa
|
|
ssh-keyscan -H ${{ secrets.EC2_HOST }} >> ~/.ssh/known_hosts
|
|
|
|
- name: Desplegar en EC2
|
|
run: |
|
|
ssh -o StrictHostKeyChecking=no ubuntu@${{ secrets.EC2_HOST }} << 'EOF'
|
|
set -e
|
|
|
|
echo "=== 0) ASEGURANDO PROPIETARIO DEL REPO (GIT) ==="
|
|
sudo chown -R ubuntu:ubuntu /var/www/html/cotizaaws
|
|
|
|
cd /var/www/html/cotizaaws
|
|
|
|
echo "=== 1) MARCANDO REPOSITORIO COMO SEGURO ==="
|
|
git config --global --add safe.directory /var/www/html/cotizaaws
|
|
|
|
echo "=== 2) CONFIGURANDO GIT CON TOKEN ==="
|
|
git remote set-url origin https://${{ secrets.GH_TOKEN }}@github.com/jesusfb/cotizaaws.git
|
|
|
|
echo "=== 3) ACTUALIZANDO CÓDIGO ==="
|
|
git fetch origin
|
|
git reset --hard origin/main
|
|
|
|
echo "=== 4) RECREANDO DIRECTORIOS CRÍTICOS ==="
|
|
mkdir -p storage/logs bootstrap/cache vendor public/build
|
|
touch storage/logs/laravel.log
|
|
|
|
echo "=== 5) PERMISOS BASE ==="
|
|
sudo chown -R www-data:www-data storage bootstrap/cache vendor public/build
|
|
sudo chmod -R 775 storage bootstrap/cache
|
|
sudo chmod -R 755 vendor public/build
|
|
sudo chmod 664 storage/logs/laravel.log
|
|
|
|
echo "=== 6) COMPOSER (WWW-DATA) ==="
|
|
sudo -u www-data composer install \
|
|
--no-interaction \
|
|
--prefer-dist \
|
|
--optimize-autoloader
|
|
|
|
echo "=== 7) DEPENDENCIAS FRONTEND ==="
|
|
npm install
|
|
|
|
# 🔥 FIX DEFINITIVO DE PERMISOS PARA VITE
|
|
sudo chown -R ubuntu:ubuntu public/build
|
|
sudo chmod -R 775 public/build
|
|
|
|
echo "=== 8) INSTALANDO SASS EMBEDDED (VITE) ==="
|
|
npm install -D sass-embedded
|
|
npm install @popperjs/core --save
|
|
echo "=== 9) BUILD FRONTEND (VITE) ==="
|
|
npm run build
|
|
|
|
echo "=== 10) LIMPIANDO CACHE LARAVEL ==="
|
|
sudo -u www-data php artisan view:clear || true
|
|
sudo -u www-data php artisan cache:clear || true
|
|
sudo -u www-data php artisan route:clear || true
|
|
sudo -u www-data php artisan config:clear || true
|
|
|
|
echo "=== 11) PERMISOS FINALES ==="
|
|
sudo chown -R www-data:www-data storage bootstrap/cache public/build
|
|
sudo chmod -R 775 storage bootstrap/cache public/build
|
|
|
|
echo "=== 12) RECARGANDO APACHE ==="
|
|
sudo systemctl reload apache2
|
|
|
|
echo "✅ DESPLIEGUE COMPLETO CON VITE + SASS OK"
|
|
EOF
|