Newer
Older
variables:
DOCKER_TLS_CERTDIR: ""
image: registry.gitlab.eox.at/esa/prism/vs/docker-base-testing:latest
stage: build
services:
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker pull "$IMAGE_1":latest || true
- docker build --cache-from "$IMAGE_1":latest -t "$IMAGE_1":dev -t "$IMAGE_1":$CI_COMMIT_TAG core/
- IMAGE_2="$CI_REGISTRY_IMAGE/pvs_preprocessor"
- docker pull "$IMAGE_2":latest || true
- docker build --cache-from "$IMAGE_2":latest -t "$IMAGE_2":dev -t "$IMAGE_2":$CI_COMMIT_TAG preprocessor/
- docker pull "$IMAGE_3":latest || true
- docker build --cache-from "$IMAGE_3":latest -t "$IMAGE_3":dev -t "$IMAGE_3":$CI_COMMIT_TAG client/
- docker pull "$IMAGE_4":latest || true
- docker build --cache-from "$IMAGE_4":latest -t "$IMAGE_4":dev -t "$IMAGE_4":$CI_COMMIT_TAG cache/
- IMAGE_5="$CI_REGISTRY_IMAGE/fluentd"
- docker pull "$IMAGE_5":latest || true
- docker build --cache-from "$IMAGE_5":latest -t "$IMAGE_5":dev -t "$IMAGE_5":$CI_COMMIT_TAG fluentd/
- IMAGE_6="$CI_REGISTRY_IMAGE/pvs_ingestor"
- docker pull "$IMAGE_6":latest || true
- docker build --cache-from "$IMAGE_6":latest -t "$IMAGE_6":dev -t "$IMAGE_6":$CI_COMMIT_TAG ingestor/
- IMAGE_7="$CI_REGISTRY_IMAGE/pvs_sftp"
- docker build --cache-from "$IMAGE_7":latest -t "$IMAGE_7":dev -t "$IMAGE_7":$CI_COMMIT_TAG sftp/
- IMAGE_8="$CI_REGISTRY_IMAGE/pvs_shibauth"
- docker pull "$IMAGE_8":latest || true
- docker build --cache-from "$IMAGE_8":latest -t "$IMAGE_8":dev -t "$IMAGE_8":$CI_COMMIT_TAG shibauth/
# - cd ./testing && ./gitlab_test.sh
# - if [ $? -ne 0 ]; then exit 1; fi # actually fail build
- docker push "$IMAGE_1":$CI_COMMIT_TAG
- docker push "$IMAGE_2":$CI_COMMIT_TAG
- docker push "$IMAGE_3":$CI_COMMIT_TAG
- docker push "$IMAGE_4":$CI_COMMIT_TAG
- docker push "$IMAGE_5":$CI_COMMIT_TAG
- docker push "$IMAGE_6":$CI_COMMIT_TAG
image: registry.gitlab.eox.at/esa/prism/vs/docker-base-testing:latest
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- if [[ "$CI_COMMIT_BRANCH" = "master" ]] ; then TAG_USED="latest"; else TAG_USED="staging"; fi
- docker pull "$IMAGE_1":"$TAG_USED" || true
- docker build --cache-from "$IMAGE_1":"$TAG_USED" -t "$IMAGE_1":dev -t "$IMAGE_1":"$TAG_USED" core/
- docker pull "$IMAGE_2":"$TAG_USED" || true
- docker build --cache-from "$IMAGE_2":"$TAG_USED" -t "$IMAGE_2":dev -t "$IMAGE_2":"$TAG_USED" preprocessor/
- docker pull "$IMAGE_3":"$TAG_USED" || true
- docker build --cache-from "$IMAGE_3":"$TAG_USED" -t "$IMAGE_3":dev -t "$IMAGE_3":"$TAG_USED" client/
- docker pull "$IMAGE_4":"$TAG_USED" || true
- docker build --cache-from "$IMAGE_4":"$TAG_USED" -t "$IMAGE_4":dev -t "$IMAGE_4":"$TAG_USED" cache/
- docker build --cache-from "$IMAGE_5":"$TAG_USED" -t "$IMAGE_5":dev -t "$IMAGE_5":"$TAG_USED" fluentd/
- docker pull "$IMAGE_6":"$TAG_USED" || true
- docker build --cache-from "$IMAGE_6":"$TAG_USED" -t "$IMAGE_6":dev -t "$IMAGE_6":"$TAG_USED" ingestor/
- IMAGE_7="$CI_REGISTRY_IMAGE/pvs_sftp"
- docker build --cache-from "$IMAGE_7":latest -t "$IMAGE_7":dev -t "$IMAGE_7":"$TAG_USED" sftp/
- IMAGE_8="$CI_REGISTRY_IMAGE/pvs_shibauth"
- docker pull "$IMAGE_8":"$TAG_USED" || true
- docker build --cache-from "$IMAGE_8":latest -t "$IMAGE_8":dev -t "$IMAGE_8":"$TAG_USED" shibauth/
- cd ./testing && ./gitlab_test.sh
- if [ $? -ne 0 ]; then exit 1; fi # actually fail build
- docker push "$IMAGE_1":"$TAG_USED"
- docker push "$IMAGE_2":"$TAG_USED"
- docker push "$IMAGE_3":"$TAG_USED"
- docker push "$IMAGE_4":"$TAG_USED"
- docker push "$IMAGE_5":"$TAG_USED"
- docker push "$IMAGE_6":"$TAG_USED"
when: always
expire_in: 4 week
- emg-pvs_database.txt
- emg-pvs_preprocessor.txt
- emg-pvs_registrar.txt
- emg-pvs_renderer.txt
image: registry.gitlab.eox.at/esa/prism/vs/docker-base-testing:latest
stage: build
services:
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker pull "$IMAGE":staging || true
- docker build --cache-from "$IMAGE":staging -t "$IMAGE":dev core/
- docker pull "$IMAGE":staging || true
- docker build --cache-from "$IMAGE":staging -t "$IMAGE":dev preprocessor/
- docker pull "$IMAGE":staging || true
- docker build --cache-from "$IMAGE":staging -t "$IMAGE":dev client/
- docker pull "$IMAGE":staging || true
- docker build --cache-from "$IMAGE":staging -t "$IMAGE":dev cache/
- IMAGE="$CI_REGISTRY_IMAGE/fluentd"
- docker pull "$IMAGE":staging || true
- docker build --cache-from "$IMAGE":staging -t "$IMAGE":dev fluentd/
- IMAGE="$CI_REGISTRY_IMAGE/pvs_ingestor"
- docker pull "$IMAGE":staging || true
- docker build --cache-from "$IMAGE":staging -t "$IMAGE":dev ingestor/
- IMAGE="$CI_REGISTRY_IMAGE/pvs_sftp"
- docker pull "$IMAGE":staging || true
- docker build --cache-from "$IMAGE":staging -t "$IMAGE":dev sftp/
- IMAGE="$CI_REGISTRY_IMAGE/pvs_shibauth"
- docker pull "$IMAGE":staging || true
- docker build --cache-from "$IMAGE":staging -t "$IMAGE":dev shibauth/
- cd ./testing && ./gitlab_test.sh
- if [ $? -ne 0 ]; then exit 1; fi # actually fail build
when: always
expire_in: 4 week
# - emg-pvs_cache.txt
# - emg-pvs_client.txt
- emg-pvs_database.txt
# - emg-pvs_fluentd.txt
# - emg-pvs_ingestor.txt
- emg-pvs_preprocessor.txt
# - emg-pvs_redis.txt
- emg-pvs_registrar.txt
- emg-pvs_renderer.txt
# - emg-pvs_seeder.txt
# - emg-pvs_sftp.txt
review-docs:
image: python:3.8-slim
stage: build
script:
- apt-get update && apt-get install -y build-essential rsync grsync git texlive-base texlive-latex-extra latexmk
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
- git branch -f master origin/master
- git branch -f staging origin/staging
- pip3 install sphinx sphinx_rtd_theme recommonmark sphinx-multiversion
- cd documentation/operator-guide && make build
- mv _build/html/ ../../public
- cd ../user-guide && make build
- mv _build/html/ ../../public/user
artifacts:
paths:
- public
expire_in: 1 week
environment:
name: review/$CI_COMMIT_REF_NAME
url: "https://$CI_PROJECT_ROOT_NAMESPACE.pages.eox.at/-/prism/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/public/$CI_DEFAULT_BRANCH/index.html"
on_stop: stop_review_app
auto_stop_in: 1 week
variables:
PUBLIC_URL: "/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/public"
only:
- branches
except:
- master
- staging
stop_review_app:
stage: deploy
script: echo "stopping review"
environment:
name: review/$CI_COMMIT_REF_NAME
action: stop
only:
- branches
except:
- master
- staging
pages:
image: python:3.8-slim
stage: build
script:
- apt-get update && apt-get install -y build-essential rsync grsync git texlive-base texlive-latex-extra latexmk
- git branch -f master origin/master
- git branch -f staging origin/staging
- pip3 install sphinx sphinx_rtd_theme recommonmark sphinx-multiversion
- cd documentation/operator-guide && make build
- mv _build/html/ ../../public
- cd ../user-guide && make build
- mv _build/html/ ../../public/user
artifacts:
paths:
- public
only:
- master
- tags
- staging
publish-helm-chart:
image: devth/helm:v3.5.3
stage: chart
script:
# push Helm chart
- "upload_filename=$(helm package ./chart | sed 's/^Successfully packaged chart and saved it to: \\(.*\\)/\\1/')"
- curl -u $HELM_CHART_REPOSITORY_CREDENTIALS -v -X POST https://charts-public.hub.eox.at/api/charts --data-binary "@${upload_filename}"
only:
- tags
- staging