.gitlab-ci.yml 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. DEBUG: "true"
  12. test:
  13. image: python:3.8-slim
  14. variables:
  15. SECRET_KEY: testing
  16. ENABLE_TEST_API: "true"
  17. services:
  18. - postgres
  19. cache:
  20. key: ${CI_COMMIT_REF_SLUG}
  21. paths:
  22. - .cache/pip
  23. script:
  24. - apt-get update && apt-get install -y gcc
  25. - pip install "poetry==$POETRY_VERSION"
  26. - poetry install --no-interaction --no-ansi
  27. - ./manage.py test
  28. build:
  29. image: docker:stable
  30. services:
  31. - docker:19.03.5-dind
  32. script:
  33. - apk add --no-cache docker-compose
  34. - docker pull $IMAGE_NAME:latest || true
  35. - $COMPOSE build --build-arg IS_CI="True"
  36. - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com
  37. - docker tag ${PROJECT_NAME}_web ${IMAGE_NAME}:$CI_BUILD_REF_NAME
  38. - docker push $CONTAINER_TEST_IMAGE