How do I use Redis in Bitbucket Pipelines

I want to connect to a redis datastore in my pipelines

1 answer

1 accepted

3 votes
Accepted answer

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.

E           pytest_redis.executor.RedisMisconfigured: Bad path to redis_exec is given: /usr/bin/redis-server not exists or wrong program

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:

E           pytest_redis.executor.RedisMisconfigured: Bad path to redis_exec is given: /usr/bin/redis-server not exists or wrong program

 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

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Nov 06, 2018 in Bitbucket

Upgrade Best Practices

Hello! My name is Mark Askew and I am a Premier Support Engineer for products Bitbucket Server/Data Center, Fisheye & Crucible. Today, I want to bring the discussion that Jennifer, Matt, and ...

409 views 5 9
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you