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 script: - cd private-rows-extension - 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 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 image: gradle:jdk8 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 - mvn clean package artifacts: paths: - private-rows-extension/target/private-rows-extension-*.jar 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"