-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Adding support for using docker to run redis test instances #1389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
First, thank you! I'll try and poke at this today or tonight as pandemic schedule allows. Overall though - I definitely need to heavily tweak this so that we're adding Docker, not replacing everything with Docker. I think adding Docker is great, but we shouldn't remove the over local run options that exist. I see things like |
|
Yeah, it didn't look like that side of things was completely working and figured it wasn't very likely to be used on the OSX/linux side of things, but we can put that back. I've been messing with the build trying to get it to work, but there are a couple problems.
|
|
I've never gotten the Docker for Linux containers to work on the Windows AppVeyor builds (if we can, great!), but yet another reason for it to be additive :) Locally, the Trying to spin this up locally now, but wondering if we can greatly reduce the diff here when creating the Docker image? I'm not sure why all the directories are necessary for example - can you help me understand there? |
|
Well the problem is that the servers were stepping on each other even with the dbfile set to be different for each server. Not sure if that is something different with newer versions of Redis or what. |
|
@ejsmith hmmm that shouldn't happen - that's why they have a different DB file - I shall poke locally and see if I can get it working equally unrolling the directory changes :) |
|
@ejsmith Got it working here decently - but not AppVeyor yet, want me to push to this branch or make another PR? Simplifies the changes greatly and gets NRediSearch working...but we can't use the alpine image, due to it not being able to load modules (so it's a bit slower to build, but not terrible). |
|
Nice! Whatever you think is best. Just let me know and I will take a look and see if I can help some more. |
- Moves to the non-alpine image - This fixes module loading, like NRediSearch - Removes directory nesting for files (not needed) - Restores start-all.sh - With 23681
|
Pushed up to simplify everything...let's see about CI now (I'm not sure we can use this on Windows AppVeyor...but let's see!) |
|
@ejsmith I propose this: let's get this working docker image in without CI changes as an addition, then tackle the CI bits in another PR. I'd like to get this in master for more brutal Sentinel testing ASAP and I don't think we need to couple the 2 together...even if CI requires a few tweaks to the Docker build in the end. Thoughts? Ideas? |
|
Yeah that seems reasonable to me. Let’s do it. |
|
Done - let's check CI then can work on the Docker there as a follow-up if we can get it working. |
NickCraver
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good, thank you!
Adds support for running all Redis instances and configurations used in the tests inside of docker containers that work on all platforms. Just run
docker-compose upinside of thetests/RedisConfigsfolder.Still need to change the tests that run on Ubuntu over to using this setup instead of the shell scripts. I'm assuming that we do not want the shell scripts any more if I make the Ubuntu tests use docker?