Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.4 KiB
Newer Older
  - java_build
  - docker_build
.default_rules: &default_rules
  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
    - echo $CI_COMMIT_REF_NAME
  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