Wednesday, February 1, 2017

Running Mongo 3.x on Travis CI

Unfortunately Mongo 3.x support is not supported by Travis CI OOTB. There are some workarounds to achieve this, the idea is to install mongo as a package. However all of them have some disadvantages.

My solution to that would be to use docker as a service and run mongo in container.

.travis.yml

language: go
services:
- docker
script:
- "./run.sh"

run.sh

language: go
services:
- docker
script:
- "./run.sh"

if [[ -z $(docker images | grep mongo | grep 3.4.1) ]]; then
  echo "Pulling mongo image."
  docker pull mongo:3.4.1
fi

if [[ -z $(docker ps | grep mongo | grep 3.4.1) ]]; then
  echo "Starting mongo container."
  MONGO_ID=$(docker run -p 27017:27017 -d mongo:3.4.1)
fi

### RUN YOUR CODE HERE (e.g. tests)

if [[ -n $MONGO_ID ]]; then
  echo "Killing mongo container."
  KILLED=$(docker kill $MONGO_ID)
fi

No comments:

Post a Comment