stages: - prepare - build - deploy variables: APP_VERSION: "1.2.0-SNAPSHOT" download_jar: stage: prepare variables: LOGGING_STRATEGY: "-q" image: maven:3.9.5-ibm-semeru-17-focal script: - echo "Maven logging strategy set to quiet. For more verbosity, change LOGGING_STRATEGY in the job configuration." - mvn -s ci_settings.xml $LOGGING_STRATEGY dependency:get -Dartifact=org.etsi.osl:org.etsi.osl.tmf.api:$APP_VERSION - mvn -s ci_settings.xml dependency:copy -Dartifact=org.etsi.osl:org.etsi.osl.tmf.api:$APP_VERSION -DoutputDirectory=target/ - mv target/org.etsi.osl.tmf.api-*.jar target/org.etsi.osl.tmf.api-${APP_VERSION}.jar - ls target artifacts: paths: - target/ build_image: stage: build image: name: gcr.io/kaniko-project/executor:debug entrypoint: [""] before_script: - | if [ "$CI_COMMIT_REF_NAME" = "12-create-a-pipeline-to-build-and-publish-the-docker-image-in-gitlab-registry" ]; then export IMAGE_TAG=$(echo $CI_COMMIT_REF_NAME | tr -cd '[:alnum:]._-') # $CI_COMMIT_TAG export ADDITIONAL_TAG="latest" elif [ "$CI_COMMIT_REF_NAME" = "develop" ]; then export IMAGE_TAG="develop" fi - echo "Building Docker image with tag $IMAGE_TAG" script: - /kaniko/executor --context "${CI_PROJECT_DIR}" --dockerfile "${CI_PROJECT_DIR}/Dockerfile" --destination "${CI_REGISTRY_IMAGE}:$IMAGE_TAG" --verbosity=debug - | if [ ! -z "$ADDITIONAL_TAG" ]; then /kaniko/executor --context "${CI_PROJECT_DIR}" --dockerfile "${CI_PROJECT_DIR}/Dockerfile" --destination "${CI_REGISTRY_IMAGE}:$ADDITIONAL_TAG" fi rules: - if: '$CI_COMMIT_REF_NAME == "12-create-a-pipeline-to-build-and-publish-the-docker-image-in-gitlab-registry" || $CI_COMMIT_REF_NAME == "develop"' deploy: stage: deploy image: maven:3.9.5-ibm-semeru-17-focal script: - mvn deploy -s ci_settings.xml -DskipTests