variables: DOCKER_TLS_CERTDIR: "" stages: - build - test - publish build-master: image: docker:latest stage: build services: - docker:dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - VERSION=`grep 'version="*"' core/Dockerfile | cut -d '"' -f2` - IMAGE="$CI_REGISTRY_IMAGE/pvs_core" - docker pull "$IMAGE":latest || true - docker build --cache-from "$IMAGE":latest -t "$IMAGE":latest -t "$IMAGE":$VERSION core/ - docker push "$IMAGE":$VERSION - docker push "$IMAGE":latest - VERSION=`grep 'version="*"' preprocessor/Dockerfile | cut -d '"' -f2` - IMAGE="$CI_REGISTRY_IMAGE/pvs_preprocessor" - docker pull "$IMAGE":latest || true - docker build --cache-from "$IMAGE":latest -t "$IMAGE":latest -t "$IMAGE":$VERSION preprocessor/ - docker push "$IMAGE":$VERSION - docker push "$IMAGE":latest - VERSION=`grep 'version="*"' client/Dockerfile | cut -d '"' -f2` - IMAGE="$CI_REGISTRY_IMAGE/pvs_client" - docker pull "$IMAGE":latest || true - docker build --cache-from "$IMAGE":latest -t "$IMAGE":latest -t "$IMAGE":$VERSION client/ - docker push "$IMAGE":$VERSION - docker push "$IMAGE":latest - VERSION=`grep 'version="*"' cache/Dockerfile | cut -d '"' -f2` - IMAGE="$CI_REGISTRY_IMAGE/pvs_cache" - docker pull "$IMAGE":latest || true - docker build --cache-from "$IMAGE":latest -t "$IMAGE":latest -t "$IMAGE":$VERSION cache/ - docker push "$IMAGE":$VERSION - docker push "$IMAGE":latest only: - master build: image: docker:latest stage: build services: - docker:dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - IMAGE="$CI_REGISTRY_IMAGE/pvs_core" - docker pull "$IMAGE":$CI_COMMIT_REF_NAME || true - docker build --cache-from "$IMAGE":$CI_COMMIT_REF_NAME -t "$IMAGE":$CI_COMMIT_REF_SLUG -t "$IMAGE":$CI_COMMIT_REF_NAME core/ - docker push "$IMAGE:$CI_COMMIT_REF_SLUG" - docker push "$IMAGE:$CI_COMMIT_REF_NAME" - IMAGE="$CI_REGISTRY_IMAGE/pvs_preprocessor" - docker pull "$IMAGE":$CI_COMMIT_REF_NAME || true - docker build --cache-from "$IMAGE":$CI_COMMIT_REF_NAME -t "$IMAGE":$CI_COMMIT_REF_SLUG -t "$IMAGE":$CI_COMMIT_REF_NAME preprocessor/ - docker push "$IMAGE:$CI_COMMIT_REF_SLUG" - docker push "$IMAGE:$CI_COMMIT_REF_NAME" - IMAGE="$CI_REGISTRY_IMAGE/pvs_client" - docker pull "$IMAGE":$CI_COMMIT_REF_NAME || true - docker build --cache-from "$IMAGE":$CI_COMMIT_REF_NAME -t "$IMAGE":$CI_COMMIT_REF_SLUG -t "$IMAGE":$CI_COMMIT_REF_NAME client/ - docker push "$IMAGE:$CI_COMMIT_REF_SLUG" - docker push "$IMAGE:$CI_COMMIT_REF_NAME" - IMAGE="$CI_REGISTRY_IMAGE/pvs_cache" - docker pull "$IMAGE":$CI_COMMIT_REF_NAME || true - docker build --cache-from "$IMAGE":$CI_COMMIT_REF_NAME -t "$IMAGE":$CI_COMMIT_REF_SLUG -t "$IMAGE":$CI_COMMIT_REF_NAME cache/ - docker push "$IMAGE:$CI_COMMIT_REF_SLUG" - docker push "$IMAGE:$CI_COMMIT_REF_NAME" except: - master test: image: docker:latest services: - docker:dind before_script: - apk update && apk add bash postgresql-dev gcc python3-dev musl-dev py-pip gdal - pip3 install -r requirements.txt - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - chmod +x env_setup.sh wait_for_container.sh registrar_test.sh - ./env_setup.sh - mkdir data - IMAGE="$CI_REGISTRY_IMAGE/pvs_core" - docker pull "$IMAGE" - docker tag "$IMAGE" "$IMAGE:latest" - IMAGE="$CI_REGISTRY_IMAGE/pvs_cache" - docker pull "$IMAGE" - docker tag "$IMAGE" "$IMAGE:latest" - IMAGE="$CI_REGISTRY_IMAGE/pvs_preprocessor" - docker pull "$IMAGE" - docker tag "$IMAGE" "$IMAGE:latest" - IMAGE="$CI_REGISTRY_IMAGE/pvs_client" - docker pull "$IMAGE" - docker tag "$IMAGE" "$IMAGE:latest" - docker swarm init - docker network create -d overlay emg-extnet - docker stack deploy -c docker-compose.emg.yml -c docker-compose.emg.dev.yml emg-pvs script: - ./wait_for_container.sh - ./registrar_test.sh after_script: