name: Productmodel Java CI with Maven on: push: branches: [main] jobs: build: runs-on: ubuntu-latest container: image: gs.kapdion.com/kapdionos/java22-mvn-build:v1 volumes: - /opt/gitea-runner-data/maven-m2:/root/.m2 # mounte das m2 Verzeichnis des Hosts steps: # 1. Checkout (braucht Node.js, welches im Standard-Runner vorhanden ist) - name: Checkout Code uses: actions/checkout@v3 - name: Debug Maven Settings & Mount run: | echo "=== 1. Wer bin ich? ===" id echo "Mein Home-Verzeichnis ist: $HOME" echo "=== 2. Existiert das .m2 Verzeichnis? ===" ls -la $HOME/.m2 || echo "ACHTUNG: Kein .m2 Ordner in $HOME gefunden!" echo "=== 3. Inhalt der settings.xml (Sicherheits-Check) ===" if [ -f "$HOME/.m2/settings.xml" ]; then echo "Datei gefunden: $HOME/.m2/settings.xml" # Wir suchen nach Ihrer Server-ID, um zu beweisen, dass es IHRE Datei ist, # ohne Passwörter ins Log zu schreiben. grep "gitea-maven-repo" $HOME/.m2/settings.xml && echo "✅ Success: Server-ID 'gitea-maven-repo' in Datei gefunden." || echo "❌ Error: Server-ID nicht gefunden - falsche Datei?" else echo "❌ FEHLER: Keine settings.xml an diesem Ort." fi echo "=== 4. Was sagt Maven dazu? ===" # Der Befehl zeigt genau, welche Datei geladen wird. # Wir filtern den Output, da er sonst riesig ist. mvn -X help:effective-settings -DshowPasswords=false | grep "Reading" # 4. Eigentlicher Build # - name: Build with Maven # run: mvn -B package # 5. Deploy to Gitea Maven Repository - name: Deploy to Gitea Maven Repository run: mvn deploy # env: # MAVEN_USERNAME: ${{ secrets.MAVEN_USER }} # MAVEN_PASSWORD: ${{ secrets.MAVEN_TOKEN }}