47 lines
1.2 KiB
YAML
47 lines
1.2 KiB
YAML
image: 192.168.40.153:8082/common/docker:26.1.4-maven-3.8.8-amazon-corretto-11-alpine
|
|
|
|
variables:
|
|
MAVEN_CLI_OPTS: --batch-mode --errors --show-version
|
|
SONAR_HOST_URL: http://192.168.40.153:9900
|
|
SONAR_PROJECT_KEY: galaxy-qgw-service
|
|
|
|
stages:
|
|
- build
|
|
- clean
|
|
- deploy
|
|
|
|
build:
|
|
stage: build
|
|
script:
|
|
- echo 'exec mvn clean package'
|
|
- echo 'tag:' $CI_COMMIT_TAG
|
|
- echo "$MAVEN_SETTINGS_XML" > /usr/share/maven/conf/settings.xml
|
|
- mvn $MAVEN_CLI_OPTS clean package -DskipTests
|
|
only:
|
|
- tags
|
|
|
|
|
|
clean:
|
|
stage: clean
|
|
script:
|
|
- echo 'build job fail, exec mvn clean'
|
|
- echo 'tag:' $CI_COMMIT_TAG
|
|
- mvn $MAVEN_CLI_OPTS clean
|
|
when: on_failure
|
|
only:
|
|
- tags
|
|
|
|
deploy:
|
|
stage: deploy
|
|
script:
|
|
- echo 'exec mvn package & docker build'
|
|
- echo 'tag:' $CI_COMMIT_TAG
|
|
- echo "$MAVEN_SETTINGS_XML" > /usr/share/maven/conf/settings.xml
|
|
- |-
|
|
mvn $MAVEN_CLI_OPTS clean verify sonar:sonar -Dsonar.projectKey=$SONAR_PROJECT_KEY \
|
|
-Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_LOGIN_TOKEN \
|
|
-Dsonar.qualitygate.wait=true -Dsonar.qualitygate.timeout=300
|
|
- mvn clean package -Dmaven.test.skip=true docker:build docker:push -Dv=$CI_COMMIT_TAG
|
|
when: on_success
|
|
only:
|
|
- tags |