EOX GitLab Instance

Skip to content
Snippets Groups Projects
.gitlab-ci.yml 4.83 KiB
Newer Older
variables:
  DOCKER_TLS_CERTDIR: ""

Mussab Abdalla's avatar
Mussab Abdalla committed
stages:
  - build
Mussab Abdalla's avatar
Mussab Abdalla committed
  - 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`
Mussab Abdalla's avatar
Mussab Abdalla committed
    - 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`
Mussab Abdalla's avatar
Mussab Abdalla committed
    - 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`
Mussab Abdalla's avatar
Mussab Abdalla committed
    - 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`
Mussab Abdalla's avatar
Mussab Abdalla committed
    - 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:
Mussab Abdalla's avatar
Mussab Abdalla committed
    - 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"
Mussab Abdalla's avatar
Mussab Abdalla committed
    - 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"
Mussab Abdalla's avatar
Mussab Abdalla committed
    - 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"
Mussab Abdalla's avatar
Mussab Abdalla committed
    - 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
Mussab Abdalla's avatar
Mussab Abdalla committed
test:
  image: docker:latest
Mussab Abdalla's avatar
Mussab Abdalla committed
  services:
    - docker:dind
Mussab Abdalla's avatar
Mussab Abdalla committed
  before_script:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
Mussab Abdalla's avatar
Mussab Abdalla committed
    - chmod +x env_setup.sh wait_for_container.sh
Mussab Abdalla's avatar
Mussab Abdalla committed
    - ./env_setup.sh
    - mkdir data
    - docker image ls 
    # - IMAGE="$CI_REGISTRY_IMAGE/pvs_core"
    # - docker pull "$IMAGE" || true
    # - docker tag "$IMAGE" "$IMAGE:latest"
    # - IMAGE="$CI_REGISTRY_IMAGE/pvs_cache"
    # - docker pull "$IMAGE" || true
    # - docker tag "$IMAGE" "$IMAGE:latest"
    # - IMAGE="$CI_REGISTRY_IMAGE/pvs_preprocessor"
    # - docker pull "$IMAGE" || true
    # - docker tag "$IMAGE" "$IMAGE:latest"
    # - IMAGE="$CI_REGISTRY_IMAGE/pvs_client" 
    # - docker pull "$IMAGE" || true
    # - 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
Mussab Abdalla's avatar
Mussab Abdalla committed
  script:
    - apk update && apk add postgresql-dev gcc python3-dev musl-dev py-pip gdal
Mussab Abdalla's avatar
Mussab Abdalla committed
    - pip3 install -r requirements.txt
Mussab Abdalla's avatar
Mussab Abdalla committed
    - ./wait_for_container.sh
Mussab Abdalla's avatar
Mussab Abdalla committed
    - docker exec -i $(docker ps -qf "name=emg-pvs_registrar") python3 /var/www/pvs/dev/pvs_instance/manage.py storage create pvs_testing pvs_testing --type swift --storage-auth auth-cloud-ovh
    - docker exec -i $(docker ps -qf "name=emg-pvs_registrar") python3 /core/registrar.py --objects-prefix "OA/PH1B/0.1/b9/urn:eop:PHR:MULTISPECTRAL_0.5m:DS_PHR1B_201608070959189_FR1_PX_E012N32_0719_00974_4148/0000/PH1B_PHR_FUS_1A_20160807T095918_20160807T095920_TOU_1234_4148.DIMA.tar"
    - pytest -s registrar_test.py --name OA/PH1B/0.1/b9/urn:eop:PHR:MULTISPECTRAL_0.5m:DS_PHR1B_201608070959189_FR1_PX_E012N32_0719_00974_4148/0000/PH1B_PHR_FUS_1A_20160807T095918_20160807T095920_TOU_1234_4148.DIMA.tar
Mussab Abdalla's avatar
Mussab Abdalla committed