codigo0/.github/workflows/deploy-docker.yml

50 lines
1.2 KiB
YAML

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