diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eea991187fcb13872555ec7e4d6af36a7c6d326a..ad0165cdb8f08e820d6e9c30f30d2994ac2e1e5a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,46 +1,16 @@ -# stages: -# - java_build -# - docker_build - -.default_rules: &default_rules +.default: + variables: + DEFAULT_TAG: "1.2.0-SNAPSHOT" + before_script: + - | + if [ "$CI_COMMIT_REF_NAME" = "main" ] && [ -n "$CI_COMMIT_TAG" ]; then + export APP_VERSION=$CI_COMMIT_TAG + elif [ "$CI_COMMIT_REF_NAME" = "develop" ]; then + export APP_VERSION="develop" + else + export APP_VERSION=$DEFAULT_TAG + fi rules: - if: $CI_COMMIT_REF_NAME == "main" - if: $CI_COMMIT_REF_NAME == "develop" - if: $CI_COMMIT_REF_NAME == "12-create-a-pipeline-to-build-and-publish-the-docker-image-in-gitlab-registry" - -variables: - DEFAULT_TAG: "1.2.0-SNAPSHOT" - -before_script: - - | - if [ "$CI_COMMIT_REF_NAME" = "main" ] && [ -n "$CI_COMMIT_TAG" ]; then - export APP_VERSION=$CI_COMMIT_TAG - elif [ "$CI_COMMIT_REF_NAME" = "develop" ]; then - export APP_VERSION="develop" - else - export APP_VERSION=$DEFAULT_TAG - fi - -java_build: - # stage: java_build - image: maven:3.9.5-ibm-semeru-17-focal - script: - - mvn deploy -s ci_settings.xml -DskipTests -Dversion=$APP_VERSION - artifacts: - paths: - - target/ - <<: *default_rules - -# .docker_build: -# stage: docker_build -# image: -# name: gcr.io/kaniko-project/executor:debug -# entrypoint: [""] -# script: -# - /kaniko/executor --context "${CI_PROJECT_DIR}" --dockerfile "${CI_PROJECT_DIR}/Dockerfile" --destination "${CI_REGISTRY_IMAGE}:$APP_VERSION" -# - | -# if [ "$CI_COMMIT_REF_NAME" = "main" ]; then -# echo "Pushing Docker image with tag 'latest'" -# /kaniko/executor --context "${CI_PROJECT_DIR}" --dockerfile "${CI_PROJECT_DIR}/Dockerfile" --destination "${CI_REGISTRY_IMAGE}:latest" -# fi -# <<: *default_rules diff --git a/ci-templates/build.yml b/ci-templates/build.yml new file mode 100644 index 0000000000000000000000000000000000000000..3873ce92fd207016112dbacf4d53be45a5694236 --- /dev/null +++ b/ci-templates/build.yml @@ -0,0 +1,21 @@ +.maven_build: + extends: .default + image: maven:3.9.5-ibm-semeru-17-focal + script: + - mvn deploy -s ci_settings.xml -DskipTests -Dversion=$APP_VERSION + artifacts: + paths: + - target/ + +.docker_build: + extends: .default + image: + name: gcr.io/kaniko-project/executor:debug + entrypoint: [""] + script: + - /kaniko/executor --context "${CI_PROJECT_DIR}" --dockerfile "${CI_PROJECT_DIR}/Dockerfile" --destination "${CI_REGISTRY_IMAGE}:$APP_VERSION" + - | + if [ "$CI_COMMIT_REF_NAME" = "main" ]; then + echo "Pushing Docker image with tag 'latest'" + /kaniko/executor --context "${CI_PROJECT_DIR}" --dockerfile "${CI_PROJECT_DIR}/Dockerfile" --destination "${CI_REGISTRY_IMAGE}:latest" + fi