From 999f6ddd9bd8130b81a5f3833f4fd43df12635e6 Mon Sep 17 00:00:00 2001 From: Daniel Fitzpatrick Date: Tue, 25 Oct 2022 11:43:05 -0500 Subject: [PATCH] add docker support --- README.md | 8 +++++++- bin/ci/before_script_docker.sh | 8 ++++++++ docker-compose.yml | 11 +++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100755 bin/ci/before_script_docker.sh create mode 100644 docker-compose.yml diff --git a/README.md b/README.md index fda4cf0..e6f33f5 100644 --- a/README.md +++ b/README.md @@ -111,10 +111,16 @@ Monger is part of the [group of Clojure libraries known as ClojureWerkz](http:// Monger uses [Leiningen 2](https://github.com/technomancy/leiningen/blob/master/doc/TUTORIAL.md). Make sure you have it installed and then run tests against supported Clojure versions using - + ./bin/ci/before_script.sh lein all do clean, javac, test +Or, if you don't have mongodb installed, you can use docker + + docker-compose up + ./bin/ci/before_script_docker.sh + lein all do clean, javac, test + Then create a branch and make your changes on it. Once you are done with your changes and all tests pass, submit a pull request on Github. diff --git a/bin/ci/before_script_docker.sh b/bin/ci/before_script_docker.sh new file mode 100755 index 0000000..3cca428 --- /dev/null +++ b/bin/ci/before_script_docker.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# MongoDB Java driver won't run authentication twice on the same DB instance, +# so we need to use multiple DBs. +docker exec mongo_test mongosh --eval 'db.createUser({"user": "clojurewerkz/monger", "pwd": "monger", roles: ["dbAdmin"], mechanisms: ["SCRAM-SHA-1"], passwordDigestor: "client"})' monger-test +docker exec mongo_test mongosh --eval 'db.createUser({"user": "clojurewerkz/monger", "pwd": "monger", roles: ["dbAdmin"], mechanisms: ["SCRAM-SHA-1"], passwordDigestor: "client"})' monger-test2 +docker exec mongo_test mongosh --eval 'db.createUser({"user": "clojurewerkz/monger", "pwd": "monger", roles: ["dbAdmin"], mechanisms: ["SCRAM-SHA-1"], passwordDigestor: "client"})' monger-test3 +docker exec mongo_test mongosh --eval 'db.createUser({"user": "clojurewerkz/monger", "pwd": "monger", roles: ["dbAdmin"], mechanisms: ["SCRAM-SHA-1"], passwordDigestor: "client"})' monger-test4 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..235fb75 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,11 @@ +# Use root/example as user/password credentials +version: '3.1' + +services: + + mongo: + image: mongo + container_name: mongo_test + restart: always + ports: + - "27017:27017"