.gitlab-ci.yml 1.3 KB

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