Commit 5edd118e authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

CI/CD pipeline:

- Renamed IMAGE_TAG variable in ZTP and Policy components to prevent collisions
parent c7d09fd8
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -24,10 +24,10 @@ build policy:
    - docker image prune --force
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
  script:
    - export IMAGE_TAG=$(grep -m1 '<version>' ./src/$IMAGE_NAME_POLICY/pom.xml | grep -oP  '(?<=>).*(?=<)')
    - echo "IMAGE_TAG=${IMAGE_TAG}" >> ${BUILD_ENV_POLICY}
    - export POL_IMAGE_TAG=$(grep -m1 '<version>' ./src/$IMAGE_NAME_POLICY/pom.xml | grep -oP  '(?<=>).*(?=<)')
    - echo "POL_IMAGE_TAG=${POL_IMAGE_TAG}" >> ${BUILD_ENV_POLICY}
    - cat ${BUILD_ENV_POLICY}
    - docker buildx build -t "$IMAGE_NAME_POLICY:$IMAGE_TAG" -f ./src/$IMAGE_NAME_POLICY/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME_POLICY/ --target builder
    - docker buildx build -t "$IMAGE_NAME_POLICY:$POL_IMAGE_TAG" -f ./src/$IMAGE_NAME_POLICY/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME_POLICY/ --target builder
  after_script:
    - docker image prune --force
  artifacts:
@@ -52,10 +52,10 @@ unit_test policy:
    - 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 buildx build -t "$IMAGE_NAME_POLICY:$IMAGE_TAG" -f ./src/$IMAGE_NAME_POLICY/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME_POLICY/ --target unit-test
    - echo "Running tests for image ${POL_IMAGE_TAG}"
    - docker buildx build -t "$IMAGE_NAME_POLICY:$POL_IMAGE_TAG" -f ./src/$IMAGE_NAME_POLICY/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME_POLICY/ --target unit-test
    # Transfer JaCoCo and Surefire reports from within tests image
    - docker create --name ${REPORTS_CONTAINER} "$IMAGE_NAME_POLICY:$IMAGE_TAG"
    - docker create --name ${REPORTS_CONTAINER} "$IMAGE_NAME_POLICY:$POL_IMAGE_TAG"
    - mkdir -p ${REPORTS_PATH_POLICY}
    - docker cp ${REPORTS_CONTAINER}:/app/target/site/jacoco/index.html ${REPORTS_PATH_POLICY}/coverage.html
    - docker cp ${REPORTS_CONTAINER}:/app/target/site/jacoco/jacoco.xml ${REPORTS_PATH_POLICY}/jacoco.xml
@@ -63,12 +63,12 @@ unit_test policy:
    - cat ${REPORTS_PATH_POLICY}/coverage.html | grep -o 'Total[^%]*%' | sed 's/<.*>/ /; s/Total/JaCoCo Coverage Total:/'
    - docker run -v "$(pwd)/src/${IMAGE_NAME_POLICY}:/${IMAGE_NAME_POLICY}" --rm registry.gitlab.com/haynes/jacoco2cobertura:1.0.7 python /opt/cover2cover.py ${IMAGE_NAME_POLICY}/reports/jacoco.xml ${IMAGE_NAME_POLICY}/src/main/java > ${REPORTS_PATH_POLICY}/cobertura.xml
    # Build final image
    - docker buildx build -t "$IMAGE_NAME_POLICY:$IMAGE_TAG" -f ./src/$IMAGE_NAME_POLICY/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME_POLICY/ --target release
    - docker tag "$IMAGE_NAME_POLICY:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME_POLICY:$IMAGE_TAG"
    - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME_POLICY:$IMAGE_TAG"
    - docker buildx build -t "$IMAGE_NAME_POLICY:$POL_IMAGE_TAG" -f ./src/$IMAGE_NAME_POLICY/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME_POLICY/ --target release
    - docker tag "$IMAGE_NAME_POLICY:$POL_IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME_POLICY:$POL_IMAGE_TAG"
    - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME_POLICY:$POL_IMAGE_TAG"
  after_script:
    - docker rm ${REPORTS_CONTAINER}
    - docker rm -f "$IMAGE_NAME_POLICY:$IMAGE_TAG"
    - docker rm -f "$IMAGE_NAME_POLICY:$POL_IMAGE_TAG"
  coverage: '/JaCoCo Coverage Total: ([0-9]{1,3})%/'
  artifacts:
    reports:
+10 −10
Original line number Diff line number Diff line
@@ -24,10 +24,10 @@ build ztp:
    - docker image prune --force
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
  script:
    - export IMAGE_TAG=$(grep -m1 '<version>' ./src/$IMAGE_NAME/pom.xml | grep -oP  '(?<=>).*(?=<)')
    - echo "IMAGE_TAG=${IMAGE_TAG}" >> ${BUILD_ENV}
    - export ZTP_IMAGE_TAG=$(grep -m1 '<version>' ./src/$IMAGE_NAME/pom.xml | grep -oP  '(?<=>).*(?=<)')
    - echo "ZTP_IMAGE_TAG=${ZTP_IMAGE_TAG}" >> ${BUILD_ENV}
    - cat ${BUILD_ENV}
    - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME/ --target builder
    - docker buildx build -t "$IMAGE_NAME:$ZTP_IMAGE_TAG" -f ./src/$IMAGE_NAME/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME/ --target builder
  after_script:
    - docker image prune --force
  artifacts:
@@ -52,10 +52,10 @@ unit_test ztp:
    - 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 buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME/ --target unit-test
    - echo "Running tests for image ${ZTP_IMAGE_TAG}"
    - docker buildx build -t "$IMAGE_NAME:$ZTP_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"
    - docker create --name ${REPORTS_CONTAINER} "$IMAGE_NAME:$ZTP_IMAGE_TAG"
    - mkdir -p ${REPORTS_PATH}
    - docker cp ${REPORTS_CONTAINER}:/app/target/site/jacoco/index.html ${REPORTS_PATH}/coverage.html
    - docker cp ${REPORTS_CONTAINER}:/app/target/site/jacoco/jacoco.xml ${REPORTS_PATH}/jacoco.xml
@@ -63,12 +63,12 @@ unit_test ztp:
    - cat ${REPORTS_PATH}/coverage.html | grep -o 'Total[^%]*%' | sed 's/<.*>/ /; s/Total/JaCoCo Coverage Total:/'
    - docker run -v "$(pwd)/src/${IMAGE_NAME}:/${IMAGE_NAME}" --rm registry.gitlab.com/haynes/jacoco2cobertura:1.0.7 python /opt/cover2cover.py ${IMAGE_NAME}/reports/jacoco.xml ${IMAGE_NAME}/src/main/java > ${REPORTS_PATH}/cobertura.xml
    # Build final image
    - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME/ --target release
    - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG"
    - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG"
    - docker buildx build -t "$IMAGE_NAME:$ZTP_IMAGE_TAG" -f ./src/$IMAGE_NAME/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME/ --target release
    - docker tag "$IMAGE_NAME:$ZTP_IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$ZTP_IMAGE_TAG"
    - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$ZTP_IMAGE_TAG"
  after_script:
    - docker rm ${REPORTS_CONTAINER}
    - docker rm -f "$IMAGE_NAME:$IMAGE_TAG"
    - docker rm -f "$IMAGE_NAME:$ZTP_IMAGE_TAG"
  coverage: '/JaCoCo Coverage Total: ([0-9]{1,3})%/'
  artifacts:
    reports: