All checks were successful
Build and Push Quarkus Image / build-and-push (push) Successful in 10m5s
62 lines
2.1 KiB
YAML
62 lines
2.1 KiB
YAML
name: Build and Push Quarkus Image
|
|
|
|
on:
|
|
push:
|
|
branches: [ "main" ] # Pas aan naar jouw hoofdbranch als dit 'master' is
|
|
|
|
env:
|
|
# VERVANG DIT door de domeinnaam van jouw Gitea server (zonder https://)
|
|
REGISTRY: git.melvanveen.nl
|
|
# Dit pakt automatisch de eigenaar en naam van de repo (bijv. username/quarkus-app)
|
|
IMAGE_NAME: ${{ github.repository }}
|
|
|
|
jobs:
|
|
build-and-push:
|
|
runs-on: ubuntu-latest # Zorg dat je Gitea runner Docker ondersteunt
|
|
|
|
permissions:
|
|
contents: read
|
|
packages: write
|
|
|
|
steps:
|
|
- name: Code ophalen
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Java 21 instellen
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
java-version: '21' # Pas aan naar 17 als je Java 17 gebruikt
|
|
distribution: 'temurin'
|
|
|
|
- name: SonarQube Analyse uitvoeren
|
|
# We gebruiken hier de SonarQube parameters, met de token veilig als secret opgeslagen
|
|
run: |
|
|
./mvnw clean verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
|
|
-Dsonar.projectKey=Jobfindr \
|
|
-Dsonar.projectName='Jobfindr' \
|
|
-Dsonar.host.url=https://sonarqube.melvanveen.nl \
|
|
-Dsonar.token=${{ secrets.SONAR_TOKEN }}
|
|
|
|
- name: Quarkus applicatie bouwen (.jar genereren)
|
|
run: ./mvnw clean package -DskipTests
|
|
|
|
- name: Inloggen op Gitea Container Registry
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: ${{ env.REGISTRY }}
|
|
username: ${{ github.actor }}
|
|
# Gitea genereert automatisch dit token, net als GitHub.
|
|
# Deze heeft de rechten om packages te pushen.
|
|
password: ${{ secrets.CR_PAT }}
|
|
|
|
- name: Docker image bouwen en pushen
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
context: .
|
|
# We gebruiken de standaard JVM Dockerfile van Quarkus
|
|
file: src/main/docker/Dockerfile.jvm
|
|
push: true
|
|
# We taggen de image met 'latest' én met de specifieke commit-hash
|
|
tags: |
|
|
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
|
|
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }} |