44 lines
1.3 KiB
YAML
44 lines
1.3 KiB
YAML
name: Build and Deploy
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Docker CLI
|
|
run: |
|
|
apt-get update && apt-get install -y docker.io
|
|
|
|
- name: Build production image
|
|
run: |
|
|
docker build \
|
|
--target frankenphp_prod \
|
|
-t mangarr:latest \
|
|
-t mangarr:${{ gitea.sha }} \
|
|
.
|
|
|
|
- name: Deploy containers
|
|
run: |
|
|
# Redemarrer le container principal avec la nouvelle image
|
|
docker stop mangarr mangarr-worker 2>/dev/null || true
|
|
docker rm mangarr mangarr-worker 2>/dev/null || true
|
|
# Portainer va recréer les containers via la stack
|
|
echo "Image mangarr:latest buildée avec succès"
|
|
echo "Redéployez la stack via : deploy-stacks.sh mangarr"
|
|
|
|
- name: Run migrations
|
|
run: |
|
|
# Attendre que le container soit prêt
|
|
sleep 10
|
|
docker exec mangarr php bin/console doctrine:migrations:migrate --no-interaction 2>/dev/null || echo "Migrations: container pas encore prêt, lancer manuellement"
|
|
docker exec mangarr php bin/console cache:clear --env=prod 2>/dev/null || true
|