71 lines
1.7 KiB
YAML
71 lines
1.7 KiB
YAML
default:
|
|
image: maven:3-amazoncorretto-17-alpine
|
|
|
|
stages:
|
|
#- pull
|
|
- build
|
|
- on_commit
|
|
- sonarcloud_scan
|
|
|
|
variables:
|
|
GITLAB_CLONE_DIR: "/builds/thischwa/CloudflareDNS-java"
|
|
# GITLAB_CLONE_DIR: "cloudflaredns-java"
|
|
SONAR_HOST_URL: "https://sonarcloud.io"
|
|
SONAR_PROJECT_KEY: "th-schwarz_DynDRest"
|
|
SONAR_ORGANIZATION: "th-schwarz"
|
|
SONAR_TOKEN: "${SONAR_TOKEN_ENV_VAR}"
|
|
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache
|
|
GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task
|
|
|
|
|
|
#pull_source:
|
|
# stage: pull
|
|
# script:
|
|
# - echo "Cloning GitHub repository..."
|
|
# - git clone --depth 1 https://oauth2:${GITHUB_PERSONAL_ACCESS_TOKEN}@github.com/th-schwarz/CloudflareDNS-java.git ${GITLAB_CLONE_DIR}
|
|
# - echo "Repository cloned successfully."
|
|
# only:
|
|
# - schedules
|
|
|
|
build:
|
|
stage: build
|
|
script:
|
|
- mvn clean package -DskipTests
|
|
artifacts:
|
|
paths:
|
|
- target/
|
|
|
|
on_commits:
|
|
stage: on_commit
|
|
dependencies:
|
|
- build
|
|
script:
|
|
- echo "Running tests..."
|
|
- cd ${GITLAB_CLONE_DIR}
|
|
- mvn test
|
|
cache:
|
|
key: "${CI_JOB_NAME}"
|
|
paths:
|
|
- .maven-cache
|
|
only:
|
|
- /^feature.*$/
|
|
- merge_request
|
|
- develop
|
|
|
|
sonarcloud_scan:
|
|
stage: sonarcloud_scan
|
|
dependencies:
|
|
- build
|
|
image:
|
|
name: sonarsource/sonar-scanner-cli:latest
|
|
entrypoint: [ "" ]
|
|
cache:
|
|
key: "${CI_JOB_NAME}"
|
|
paths:
|
|
- .maven-cache
|
|
script:
|
|
- sonar-scanner -Dsonar.projectKey=${SONAR_PROJECT_KEY} -Dsonar.organization=${SONAR_ORGANIZATION} -Dsonar.token=${SONAR_TOKEN} -Dsonar.java.binaries=target/classes
|
|
only:
|
|
- merge_requests
|
|
- develop
|