name: Auto Deploy Docker to Server on: push: branches: - main workflow_dispatch: # Permite ejecutar manualmente jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout código uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Docker Buildx uses: docker/setup-buildx-action@v3 - name: Build Docker image run: | docker build -t emerges-tes:latest . - name: Verificar imagen run: | docker images | grep emerges-tes docker run --rm emerges-tes:latest ls -la /app/dist || exit 1 - name: Desplegar en servidor uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.SERVER_HOST }} username: ${{ secrets.SERVER_USER }} key: ${{ secrets.SERVER_SSH_KEY }} port: ${{ secrets.SERVER_PORT || 22 }} script: | cd ${{ secrets.APP_PATH }} ./deploy-docker.sh --skip-git - name: Notificar resultado if: always() run: | if [ "${{ job.status }}" == "success" ]; then echo "✅ Deploy Docker completado exitosamente" else echo "❌ Deploy Docker falló" fi