diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3a796bc..7250f46 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,34 +1,34 @@ -stages: - - test - - build - - deploy +image: docker:latest + +services: + - name: docker:dind + command: ["--tls=false"] # Отключает TLS, если проблемы с соединением + privileged: true 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 + DOCKER_HOST: "tcp://docker:2375" + DOCKER_DRIVER: overlay2 + DOCKER_TLS_CERTDIR: "" before_script: - apk add --no-cache docker-cli - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $DOCKER_REGISTRY + +stages: + - build + - push build: stage: build - variables: - DOCKER_HOST: "unix:///var/run/docker.sock" # Используем локальный сокет Docker script: - - docker build -t $DOCKER_REGISTRY/$DOCKER_IMAGE:$DOCKER_TAG . - - docker push $DOCKER_REGISTRY/$DOCKER_IMAGE:$DOCKER_TAG + - docker info + - docker build -t $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG . + - docker tag $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG $CI_REGISTRY/$CI_PROJECT_PATH:latest + +push: + stage: push + script: + - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY + - docker push $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG + - docker push $CI_REGISTRY/$CI_PROJECT_PATH:latest only: - main