variables: CONTAINER_BRANCH_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG 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 .deploy: stage: deploy image: registry.esss.lu.se/ics-docker/awxkit tags: - docker script: - > awx job_templates launch ${AWX_JOB_TEMPLATE} --extra_vars "naming_container_image_tag: $CI_COMMIT_REF_SLUG" --monitor dependencies: [] only: - branches@ics-software/naming-backend when: manual deploy-test-02: extends: .deploy variables: AWX_JOB_TEMPLATE: deploy-naming-test-02 environment: name: test-02 url: https://naming-test-02.cslab.esss.lu.se