Forked from
ics-software / naming-backend
377 commits behind the upstream repository.
-
Anders Harrisson authored
JIRA INFRA-4886
Anders Harrisson authoredJIRA INFRA-4886
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 1.82 KiB
variables:
CONTAINER_BRANCH_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
stages:
- compile
- test
- package
- analyse
- publish
- image
- release
- deploy
.maven:
image: registry.esss.lu.se/ics-docker/maven:openjdk-17
tags:
- docker
.docker:
image: docker:latest
tags:
- docker
compile:
stage: compile
extends: .maven
script:
- mvn --batch-mode compile
artifacts:
paths:
- target/
expire_in: 1 day
test:
stage: test
extends: .maven
script:
- mvn --batch-mode test
artifacts:
reports:
junit:
- target/surefire-reports/TEST-*.xml
package:
stage: package
extends: .maven
script:
- mvn --batch-mode install
artifacts:
paths:
- target/naming-backend-*.jar
# sonar:
# stage: analyse
# extends: .maven
# script:
# - mvn --batch-mode sonar:sonar -Dsonar.login=$SONARQUBE_TOKEN -Dsonar.branch.name=$CI_COMMIT_REF_SLUG
# only:
# - branches@ics-software/naming-backend
docker-build:
stage: image
extends: .docker
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build -t $CONTAINER_BRANCH_IMAGE .
- docker push $CONTAINER_BRANCH_IMAGE
only:
- branches
docker-release:
stage: release
extends: .docker
before_script:
- apk add xmlstarlet
- POM_VERSION=$(xmlstarlet sel -N pom=http://maven.apache.org/POM/4.0.0 -t -v "/pom:project/pom:version" pom.xml)
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker pull $CONTAINER_BRANCH_IMAGE
- docker tag $CONTAINER_BRANCH_IMAGE $CI_REGISTRY_IMAGE:$POM_VERSION
- docker tag $CONTAINER_BRANCH_IMAGE $CI_REGISTRY_IMAGE:latest
- docker push $CI_REGISTRY_IMAGE:$POM_VERSION
- docker push $CI_REGISTRY_IMAGE:latest
only:
- main