76 lines
1.6 KiB
YAML
76 lines
1.6 KiB
YAML
default:
|
|
image: maven:3-amazoncorretto-17-alpine
|
|
|
|
stages:
|
|
- build
|
|
- on_commit
|
|
- sonarcloud_scan
|
|
- deploy
|
|
- release
|
|
|
|
variables:
|
|
GITLAB_CLONE_DIR: "/builds/th-schwarz/CloudflareDNS-java"
|
|
GITLAB_USERNAME: $GITLAB_USERNAME
|
|
GITLAB_USEREMAIL: GITLAB_USEREMAIL
|
|
SONAR_HOST_URL: $SONAR_HOST_URL
|
|
SONAR_PROJECT_KEY: "th-schwarz_CloudflareDNS-java"
|
|
SONAR_ORGANIZATION: "th-schwarz"
|
|
SONAR_TOKEN: $SONAR_TOKEN
|
|
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar"
|
|
GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task
|
|
API_EMAIL: $API_EMAIL
|
|
API_KEY: $API_KEY
|
|
API_TOKEN: $API_TOKEN
|
|
|
|
build:
|
|
stage: build
|
|
script:
|
|
- echo "Running package..."
|
|
- cd ${GITLAB_CLONE_DIR}
|
|
- mvn clean package
|
|
- echo "Preparing GitLab Pages from docs/ (javadoc)"
|
|
- mkdir public
|
|
- cp -rv docs/* public/
|
|
- mkdir public/apidocs
|
|
- cp -rv target/apidocs public/
|
|
artifacts:
|
|
paths:
|
|
- target/surefire-reports/*.xml
|
|
- target/
|
|
- public/
|
|
except:
|
|
- tags
|
|
|
|
on_commits:
|
|
stage: on_commit
|
|
dependencies:
|
|
- build
|
|
script:
|
|
- echo "on_commit DONE"
|
|
only:
|
|
- /^feature.*$/
|
|
- merge_request
|
|
- develop
|
|
|
|
pages:
|
|
# triggers the page deployment of gitlab
|
|
stage: deploy
|
|
script:
|
|
- echo "Publishing to GitLab Pages ..."
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
only:
|
|
- develop
|
|
|
|
sonarcloud_scan:
|
|
stage: sonarcloud_scan
|
|
dependencies:
|
|
- build
|
|
script:
|
|
- mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=${SONAR_PROJECT_KEY}
|
|
only:
|
|
- merge_requests
|
|
- develop
|
|
- tags
|