41 lines
1.1 KiB
YAML
41 lines
1.1 KiB
YAML
name: "Build und Deploy"
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
|
|
container:
|
|
image: node:20-bullseye
|
|
options: --user=root
|
|
|
|
steps:
|
|
- name: "🧾 Repository auschecken"
|
|
uses: actions/checkout@v3
|
|
|
|
- name: "📦 Java und Gradle installieren"
|
|
run: |
|
|
apt-get update && apt-get install -y openjdk-21-jdk curl unzip
|
|
curl -s https://get.sdkman.io | bash
|
|
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
|
|
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
|
|
curl -LO https://services.gradle.org/distributions/gradle-8.7-bin.zip
|
|
unzip gradle-8.7-bin.zip -d /opt/gradle
|
|
ln -s /opt/gradle/gradle-8.7/bin/gradle /usr/local/bin/gradle
|
|
|
|
- name: "📦 Gradle Wrapper ausführbar machen"
|
|
run: chmod +x ./gradlew
|
|
|
|
- name: "🛠 Projekt bauen"
|
|
run: ./gradlew build
|
|
|
|
- name: "🐳 Docker Compose: Build & Deploy"
|
|
run: docker compose -f ./compose.yml up -d --build
|
|
|
|
- name: "🧼 Docker Clean-up (optional)"
|
|
if: always()
|
|
run: docker system prune -f |