41 lines
1.3 KiB
YAML
41 lines
1.3 KiB
YAML
name: Build and Deploy Fitness App
|
|
on:
|
|
push:
|
|
branches: [ "master" ]
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: catthehacker/ubuntu:act-latest
|
|
volumes:
|
|
- /opt/fitness:/opt/fitness
|
|
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Debug - Zeige Verzeichnisinhalt
|
|
run: |
|
|
pwd
|
|
ls -la
|
|
ls -la apps/api/ || echo "api-Ordner nicht gefunden"
|
|
ls -la apps/web/ || echo "web-Ordner nicht gefunden"
|
|
|
|
- name: Build Backend Image
|
|
run: |
|
|
cd /workspace/robre/fitness-app
|
|
docker build -f apps/api/Dockerfile -t fitness-api:latest .
|
|
|
|
- name: Build Frontend Image
|
|
run: |
|
|
cd /workspace/robre/fitness-app
|
|
docker build -f apps/web/Dockerfile -t fitness-web:latest .
|
|
|
|
- name: Restart Application
|
|
run: |
|
|
docker stop fitness-web fitness-api 2>/dev/null || true
|
|
docker rm fitness-web fitness-api 2>/dev/null || true
|
|
cd /workspace/robre/fitness-app
|
|
docker run -d --name fitness-api --network fitness_proxy-net -v fitness-data:/app/data fitness-api:latest
|
|
docker run -d --name fitness-web --network fitness_proxy-net -e VIRTUAL_HOST=robre.de,www.robre.de -e LETSENCRYPT_HOST=robre.de,www.robre.de -e VIRTUAL_PORT=80 fitness-web:latest |