在Gitlab CI / CD中配置REDIS以在Django中使用

时间:2019-03-28 10:25:52

标签: django docker redis gitlab

我在GitLab上有一个正在运行的管道,在添加涉及REDIS的测试后,该管道开始失败。我已经应用了(?)写成inside GitLab docs的内容,但是我的测试仍然没有发现REDIS。

这是我的gitlab-cy.yml文件:

pep8:
  image: python:latest
  services:
    - postgres:10-alpine
    - redis:latest
  variables:
    POSTGRES_DB: ci
    DATABASE_URL: "postgresql://postgres:postgres@postgres:5432/$POSTGRES_DB"
    REDIS_URL: redis
  stage: test
  script:
    - python -V
    - pip install -r ./requirements/gitlab.txt

    - pytest --pep8
  cache:
    paths:
    - ~/.cache/pip/

这是我在Django中使用它的方式:

REDIS_URL = os.environ.get("REDIS_URL", "redis://localhost:6379/0") cache = redis.StrictRedis.from_url(url=REDIS_URL)

我还在GitLab REDIS_URL中的CI / CD设置中将环境变量设置为redis,但是仍然在执行测试时None被分配给host并进行测试失败....-> self = Connection<host=None,port=6379,db=0>

有人知道如何在GitLab上与Redis连接吗?

1 个答案:

答案 0 :(得分:0)

最后弄清楚了,所以如果您也遇到这个问题,我将其张贴在这里:)

我从REDIS_URL中删除了gitlab-ci.yml变量,并在GitLab CI环境变量设置中添加了以下变量:

REDIS_URL-> redis://redis:6379/0

解决了问题:)