Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

How do I use Redis in Bitbucket Pipelines

SebC
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 12, 2017

I want to connect to a redis datastore in my pipelines

1 answer

1 accepted

4 votes
Answer accepted
SebC
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 12, 2017

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
Deleted user July 6, 2018

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?

Deleted user September 26, 2018

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

lassian
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 26, 2018

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
TAGS
AUG Leaders

Atlassian Community Events