.gitlab-ci.yml 1.2 KB

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