Commit e21e7d0e authored by Fotis Soldatos's avatar Fotis Soldatos
Browse files

ci(automation): dynamically fetch image version

parent 48dd136a
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
variables:
  IMAGE_NAME: 'automation'
  IMAGE_TAG: '0.1.0'
  REPORTS_PATH: "src/${IMAGE_NAME}/reports"
  BUILD_ENV: build.env

# Package application needed to run tests & build the image on next stage
build automation:
  stage: build
  script:
    - export IMAGE_TAG=$(grep -m1 '<version>' ./src/$IMAGE_NAME/pom.xml | grep -oP  '(?<=>).*(?=<)')
    - echo "IMAGE_TAG=${IMAGE_TAG}" >> ${BUILD_ENV}
    - cat ${BUILD_ENV}
    - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME/ --target builder
  after_script:
    - docker images --filter="dangling=true" --quiet | xargs -r docker rmi
  artifacts:
    reports:
      dotenv: ${BUILD_ENV}
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)'
    - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"'
@@ -29,6 +35,7 @@ unit_test automation:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
    - docker rm ${REPORTS_CONTAINER} || true
  script:
    - echo "Running tests for image ${IMAGE_TAG}"
    - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME/ --target unit-test
    # Transfer JaCoCo and Surefire reports from within tests image
    - docker create --name ${REPORTS_CONTAINER} "$IMAGE_NAME:$IMAGE_TAG"