Skip to content
Snippets Groups Projects
Commit e21e7d0e authored by Fotis Soldatos's avatar Fotis Soldatos
Browse files

ci(automation): dynamically fetch image version

parent 48dd136a
No related branches found
No related tags found
1 merge request!54Release 2.0.0
variables: variables:
IMAGE_NAME: 'automation' IMAGE_NAME: 'automation'
IMAGE_TAG: '0.1.0'
REPORTS_PATH: "src/${IMAGE_NAME}/reports" REPORTS_PATH: "src/${IMAGE_NAME}/reports"
BUILD_ENV: build.env
# Package application needed to run tests & build the image on next stage # Package application needed to run tests & build the image on next stage
build automation: build automation:
stage: build stage: build
script: 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 - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME/ --target builder
after_script: after_script:
- docker images --filter="dangling=true" --quiet | xargs -r docker rmi - docker images --filter="dangling=true" --quiet | xargs -r docker rmi
artifacts:
reports:
dotenv: ${BUILD_ENV}
rules: 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 == "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"' - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"'
...@@ -29,6 +35,7 @@ unit_test automation: ...@@ -29,6 +35,7 @@ unit_test automation:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- docker rm ${REPORTS_CONTAINER} || true - docker rm ${REPORTS_CONTAINER} || true
script: 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 - 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 # Transfer JaCoCo and Surefire reports from within tests image
- docker create --name ${REPORTS_CONTAINER} "$IMAGE_NAME:$IMAGE_TAG" - docker create --name ${REPORTS_CONTAINER} "$IMAGE_NAME:$IMAGE_TAG"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment