49 lines
1.4 KiB
YAML
49 lines
1.4 KiB
YAML
name: Build-und-Deploy
|
||
|
||
on:
|
||
push:
|
||
branches:
|
||
- master
|
||
|
||
jobs:
|
||
build-and-deploy:
|
||
runs-on: ubuntu-latest
|
||
|
||
steps:
|
||
- name: 🧾 Repository auschecken
|
||
uses: actions/checkout@v3
|
||
|
||
- name: 📦 Docker installieren
|
||
run: |
|
||
sudo apt update
|
||
sudo apt install -y docker.io
|
||
|
||
- name: 🧼 IP-Adresse von Gitea zu /etc/hosts hinzufügen
|
||
run: echo "172.26.0.2 gitea" | sudo tee -a /etc/hosts
|
||
|
||
- name: 🛠 Baue das Projekt mit Gradle (mit Fallback)
|
||
run: |
|
||
echo "[INFO] Starte regulären Build mit Gradle..."
|
||
docker run --rm \
|
||
-v "$PWD":/app \
|
||
-w /app \
|
||
gradle:8.7-jdk21 \
|
||
./gradlew clean build -Pvaadin.productionMode -x test || \
|
||
(
|
||
echo "[WARN] Vaadin-Fehler – versuche Build ohne vaadinPrepareFrontend..." && \
|
||
docker run --rm \
|
||
-v "$PWD":/app \
|
||
-w /app \
|
||
gradle:8.7-jdk21 \
|
||
./gradlew clean build -Pvaadin.productionMode -x test -x vaadinPrepareFrontend || \
|
||
(
|
||
echo "[ERROR] Build fehlgeschlagen – Abbruch." && exit 1
|
||
)
|
||
)
|
||
|
||
- name: 🐳 Docker Compose Build & Deploy
|
||
run: docker compose -f ./compose.yml up -d --build
|
||
|
||
- name: 🧹 Clean Up (optional)
|
||
if: always()
|
||
run: docker system prune -f |