84 lines
2.1 KiB
YAML
84 lines
2.1 KiB
YAML
image: docker.io/library/eclipse-temurin:25-jdk-alpine
|
|
|
|
variables:
|
|
MAVEN_OPTS: >-
|
|
-Dhttps.protocols=TLSv1.2
|
|
-Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository
|
|
-Dorg.slf4j.simpleLogger.showDateTime=true
|
|
-Djava.awt.headless=true
|
|
|
|
MAVEN_CLI_OPTS: >-
|
|
--batch-mode
|
|
--errors
|
|
--fail-at-end
|
|
--show-version
|
|
--no-transfer-progress
|
|
-DinstallAtEnd=true
|
|
-DdeployAtEnd=true
|
|
|
|
cache:
|
|
key: ${CI_PROJECT_NAME}-${CI_COMMIT_REF_SLUG}
|
|
paths:
|
|
- .m2/repository
|
|
- .mvn
|
|
policy: pull-push
|
|
|
|
stages:
|
|
- compile
|
|
- test
|
|
- package
|
|
- docker-build
|
|
|
|
compile:
|
|
stage: compile
|
|
script:
|
|
- "chmod +x ./mvnw"
|
|
- "./mvnw $MAVEN_CLI_OPTS compile"
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == "main"'
|
|
when: always
|
|
- when: never
|
|
|
|
test:
|
|
stage: test
|
|
script:
|
|
- "chmod +x ./mvnw"
|
|
- "./mvnw $MAVEN_CLI_OPTS test"
|
|
artifacts:
|
|
when: always
|
|
reports:
|
|
junit:
|
|
- "**/target/*-reports/TEST-*.xml"
|
|
codequality:
|
|
- "target/gl-code-quality-report.json"
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == "main"'
|
|
|
|
package:
|
|
stage: package
|
|
script:
|
|
- "chmod +x ./mvnw"
|
|
- "./mvnw $MAVEN_CLI_OPTS package -DskipTests=true"
|
|
artifacts:
|
|
name: "Maven artifacts from $CI_PROJECT_NAME on $CI_COMMIT_REF_SLUG"
|
|
paths:
|
|
- "**/target"
|
|
rules:
|
|
- if: '$CI_COMMIT_TAG'
|
|
- if: '$CI_COMMIT_BRANCH == "main"'
|
|
|
|
docker-build:
|
|
stage: docker-build
|
|
resource_group: docker-build
|
|
image: quay.io/buildah/stable
|
|
script:
|
|
- buildah bud -f Dockerfile -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG .
|
|
- echo "$CI_REGISTRY_PASSWORD" | buildah login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY"
|
|
- buildah push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
|
|
- |
|
|
if [ "$CI_COMMIT_BRANCH" = "main" ]; then
|
|
buildah tag $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG $CI_REGISTRY_IMAGE:latest
|
|
buildah push $CI_REGISTRY_IMAGE:latest
|
|
fi
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == "main"' |