59ecffc86a
Introduced SonarCloud scan and testing stages to the CI pipeline. Defined variables for SonarCloud and added a new `on_commit` stage for running tests. Updated the `.gitlab-ci.yml` configuration to improve project quality checks and automation.
49 lines
1.1 KiB
YAML
49 lines
1.1 KiB
YAML
default:
|
|
image: maven:3.8.6-corretto-17
|
|
|
|
stages:
|
|
- pull
|
|
- on_commit
|
|
- sonarcloud_scan
|
|
|
|
variables:
|
|
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}"
|
|
|
|
|
|
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
|
|
|
|
|
|
on_commits:
|
|
stage: on_commit
|
|
script:
|
|
- echo "Running tests..."
|
|
- cd ${GITLAB_CLONE_DIR}
|
|
- mvn clean test
|
|
only:
|
|
- /^feature.*$/
|
|
- develop
|
|
|
|
sonarcloud_scan:
|
|
stage: sonarcloud_scan
|
|
script:
|
|
- echo "Setting up SonarCloud scan..."
|
|
- cd ${GITLAB_CLONE_DIR}
|
|
- mvn sonar:sonar \
|
|
-Dsonar.host.url=${SONAR_HOST_URL} \
|
|
-Dsonar.projectKey=${SONAR_PROJECT_KEY} \
|
|
-Dsonar.organization=${SONAR_ORGANIZATION} \
|
|
-Dsonar.login=${SONAR_TOKEN}
|
|
only:
|
|
- develop
|