Skip to content
.gitlab-ci.yml 2.08 KiB
Newer Older
Sonia Zorba's avatar
Sonia Zorba committed
stages:
  - build_env
  - build_base_war
  - build_extension
  - build_war
  - build_tomcat

variables:
  # to avoid "fatal: git fetch-pack: expected shallow list"
  GIT_STRATEGY: clone
  GIT_SUBMODULE_STRATEGY: recursive

build_extension_build_env:
  stage: build_env
  tags:
    - shell
  only:
    refs:
      - master
    changes:
      - private-rows-extension/Dockerfile-build-env
Sonia Zorba's avatar
Sonia Zorba committed
  script:
    - cd private-rows-extension
Sonia Zorba's avatar
Sonia Zorba committed
    - docker login -u "${CI_REGISTRY_USER}" -p "${CI_REGISTRY_PASSWORD}" "${CI_REGISTRY}"
    - docker build -t "${CI_REGISTRY_IMAGE}/extension_build_env" . -f Dockerfile-build-env
    - docker push "${CI_REGISTRY_IMAGE}/extension_build_env"
      
build_db:
  stage: build_env
  tags:
    - shell
  only:
    refs:
      - master
    changes:
      - database/*
Sonia Zorba's avatar
Sonia Zorba committed
  script:
    - cd database
    - docker login -u "${CI_REGISTRY_USER}" -p "${CI_REGISTRY_PASSWORD}" "${CI_REGISTRY}"
    - docker build -t "${CI_REGISTRY_IMAGE}/database" .
    - docker push "${CI_REGISTRY_IMAGE}/database"

build_vollt_base_war:
  stage: build_base_war
  tags:
    - docker
Sonia Zorba's avatar
Sonia Zorba committed
  only:
    refs:
      - master
  script:
    - cd vollt
    - gradle war
  artifacts:
    paths:
      - vollt/build/libs/vollt.war
    expire_in: 7 days

build_extension:
  stage: build_extension
  tags:
    - docker
  image: "${CI_REGISTRY_IMAGE}/extension_build_env"
  script:
    - cd vollt
    - gradle jar
    - cd ../private-rows-extension
Sonia Zorba's avatar
Sonia Zorba committed
    - JAVA_HOME=/usr/lib/jvm/java-16-openjdk-amd64 mvn clean package
Sonia Zorba's avatar
Sonia Zorba committed
  artifacts:
    paths:
      - private-rows-extension/target/private-rows-extension-*.jar
Sonia Zorba's avatar
Sonia Zorba committed
    expire_in: 7 days

build_war:
  stage: build_war
  tags:
    - shell
  only:
    refs:
      - master
  script:
    - cd war
    - ./fill-war.sh
  artifacts:
    paths:
      - war/tap.war
    expire_in: 7 days

build_tomcat_image:
  stage: build_tomcat
  tags:
    - shell
  only:
    refs:
      - master
  script:
    - docker login -u "${CI_REGISTRY_USER}" -p "${CI_REGISTRY_PASSWORD}" "${CI_REGISTRY}"
    - docker build -t "${CI_REGISTRY_IMAGE}/tomcat" .
    - docker push "${CI_REGISTRY_IMAGE}/tomcat"