.gitlab-ci.yml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. variables:
  2. PROJECT_NAME: glitchtip
  3. COMPOSE: docker-compose -p glitchtip
  4. IMAGE_NAME: registry.gitlab.com/glitchtip/glitchtip-backend
  5. CONTAINER_TEST_IMAGE: registry.gitlab.com/glitchtip/glitchtip-backend:$CI_BUILD_REF_NAME
  6. POETRY_VERSION: 1.0.5
  7. POETRY_VIRTUALENVS_CREATE: 'false'
  8. PIP_DISABLE_PIP_VERSION_CHECK: "on"
  9. PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
  10. POSTGRES_HOST_AUTH_METHOD: "trust"
  11. test:
  12. image: python:3.8-slim
  13. variables:
  14. SECRET_KEY: testing
  15. services:
  16. - postgres
  17. cache:
  18. key: ${CI_COMMIT_REF_SLUG}
  19. paths:
  20. - .cache/pip
  21. script:
  22. - apt-get update && apt-get install -y gcc
  23. - pip install "poetry==$POETRY_VERSION"
  24. - poetry install --no-interaction --no-ansi
  25. - ./manage.py test
  26. build:
  27. image: docker:stable
  28. services:
  29. - docker:19.03.5-dind
  30. script:
  31. - apk add --no-cache docker-compose
  32. - docker pull $IMAGE_NAME:latest || true
  33. - $COMPOSE build --build-arg IS_CI="True"
  34. - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com
  35. - docker tag ${PROJECT_NAME}_web ${IMAGE_NAME}:$CI_BUILD_REF_NAME
  36. - docker push $CONTAINER_TEST_IMAGE