I want to connect to a redis datastore in my pipelines
You'll need to use services in bitbucket pipelines
The below yaml will create a redis datastore on localhost:6379 with no auth.
pipelines: default: - step: image: node script: - npm install - npm test services: - redis definitions: services: redis: image: redis
Hi,
I am using pytest-redis.
<span>E pytest_redis.executor.RedisMisconfigured: Bad path to redis_exec is given: /usr/bin/redis-server not exists or wrong program</span>
bitbucket-pipelines.yaml:
image: python:3.6.5 pipelines: default: - step: script: - pip install -r requirements.txt - tox services: - redis definitions: services: redis: image: redis:3.2
=> What's the right way to access the binary of redis?
UPDATE
This does not work since redis is not installed in the python docker image.
Using --redis-host=127.0.0.1 should work, as https://confluence.atlassian.com/bitbucket/use-services-and-databases-in-bitbucket-pipelines-874786688.html says "No port mapping or hostnames are required."
I expect it to work, however, I still get the same error -- which I should not:
Related github issue on pytest-redis: https://github.com/ClearcodeHQ/pytest-redis/issues/108#issuecomment-424624338
Hi Benjamin,
It appears from reading the github issue that the pytest-redis library starts redis itself, which means there is no need to use service containers (as they would start redis in another container again).
You would need to either wait until that library is updated such that it can be configured to connect to an already running redis (like say from a service container), or install redis into the image you are using with that library so it can start redis (as its attempting to but failing currently).
Kind Regards,
Nathan Burrell
It looks like you're new here. Sign in or register to get started.