Newer
Older
image: docker
services:
- docker:dind
stages:
- test
- build
- release
variables:
DEBIAN_FRONTEND: noninteractive
PYTHON_IMAGE: buildpack-deps
PYTHON_IMAGE_DEPENDENCIES: "python3-pip python3-psycopg2"
CONTAINER_TEST_IMAGE: registry.git.mpib-berlin.mpg.de/castellum/castellum_scheduler:$CI_COMMIT_REF_NAME
CONTAINER_RELEASE_IMAGE: registry.git.mpib-berlin.mpg.de/castellum/castellum_scheduler:latest
test-branch:
stage: test
image: $PYTHON_IMAGE
script:
- apt-get update -q && apt-get install -y -qq $PYTHON_IMAGE_DEPENDENCIES
- django-admin makemigrations --dry-run --check --noinput --settings=scheduler.settings.development
build:
stage: build
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.git.mpib-berlin.mpg.de
- docker build -t $CONTAINER_TEST_IMAGE .
- docker push $CONTAINER_TEST_IMAGE
- docker image ls
release-image:
stage: release
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.git.mpib-berlin.mpg.de
- docker pull $CONTAINER_TEST_IMAGE
- docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE
- docker push $CONTAINER_RELEASE_IMAGE
only:
- master