stages: - test - build - deploy variables: DOCKER_REGISTRY: "registry.beaconborn.ru" DOCKER_IMAGE: "$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME" DOCKER_TAG: "latest" test: stage: test image: python:3.11-alpine script: - pip install -r requirements.txt - python -m unittest discover tests only: - main image: docker:latest services: - docker:dind before_script: - apk add --no-cache docker-cli - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $DOCKER_REGISTRY build: stage: build script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $DOCKER_REGISTRY - docker build -t $DOCKER_REGISTRY/$DOCKER_IMAGE:$DOCKER_TAG . - docker push $DOCKER_REGISTRY/$DOCKER_IMAGE:$DOCKER_TAG only: - main