stages: - backend_build variables: REGISTRY: registry.gitlab.com/$CI_PROJECT_PATH TAG: $CI_COMMIT_REF_SLUG backend_build_job: stage: backend_build image: maven:3.9.9-eclipse-temurin-21@sha256:2e3824afeb41f61761adee95318814e6669bd59aaf61255b2af47064b8755c02 script: - cd backend - mvn package artifacts: paths: - backend/shared/target/ - backend/gateway/target/ - backend/discoveryServer/target/ - backend/services/**/target expire_in: 1 hour build_shared_base_image: stage: dockerize before_script: - echo "$CI_REGISTRY_PASSWORD" | docker login "$CI_REGISTRY" -u "$CI_REGISTRY_USER" --password-stdin script: - docker build -f backend/Dockerfile.base -t $REGISTRY/shared-base:$TAG . - docker push $REGISTRY/shared-base:$TAG needs: - backend_build_job build_gateway_image: stage: dockerize before_script: - echo "$CI_REGISTRY_PASSWORD" | docker login "$CI_REGISTRY" -u "$CI_REGISTRY_USER" --password-stdin script: - docker build --build-arg JAR_FILE=backend/gateway/target/gateway-*.jar -f backend/Dockerfile.service -t $REGISTRY/gateway:$TAG . - docker push $REGISTRY/gateway:$TAG needs: - backend_build_job - build_shared_base_image build_discovery_image: stage: dockerize before_script: - echo "$CI_REGISTRY_PASSWORD" | docker login "$CI_REGISTRY" -u "$CI_REGISTRY_USER" --password-stdin script: - docker build --build-arg JAR_FILE=backend/discoveryServer/target/discoveryServer-*.jar -f backend/Dockerfile.service -t $REGISTRY/discovery-server:$TAG . - docker push $REGISTRY/discovery-server:$TAG needs: - backend_build_job - build_shared_base_image