diff --git a/Makefile b/Makefile index 142d50ed5a..9b2d93c62c 100644 --- a/Makefile +++ b/Makefile @@ -116,8 +116,8 @@ start-docker: ## Starts the docker containers for local development. ifeq ($(IS_CI),false) @echo Starting docker containers - docker-compose --no-ansi -f ./build/docker-compose.yml run --rm start_dependencies - cat tests/${LDAP_DATA}-data.ldif | docker-compose --no-ansi -f ./build/docker-compose.yml exec -T openldap bash -c 'ldapadd -x -D "cn=admin,dc=mm,dc=test,dc=com" -w mostest || true'; + docker-compose --no-ansi run --rm start_dependencies + cat tests/${LDAP_DATA}-data.ldif | docker-compose --no-ansi exec -T openldap bash -c 'ldapadd -x -D "cn=admin,dc=mm,dc=test,dc=com" -w mostest || true'; else @echo CI Build: skipping docker start @@ -126,14 +126,14 @@ endif stop-docker: ## Stops the docker containers for local development. @echo Stopping docker containers - docker-compose --no-ansi -f ./build/docker-compose.yml stop + docker-compose --no-ansi stop clean-docker: ## Deletes the docker containers for local development. @echo Removing docker containers - docker-compose --no-ansi -f ./build/docker-compose.yml down -v - docker-compose --no-ansi -f ./build/docker-compose.yml rm -v + docker-compose --no-ansi down -v + docker-compose --no-ansi rm -v govet: ## Runs govet against all packages. diff --git a/build/Jenkinsfile.pr b/build/Jenkinsfile.pr index 4a3eaedd39..ceedc35e72 100644 --- a/build/Jenkinsfile.pr +++ b/build/Jenkinsfile.pr @@ -131,12 +131,12 @@ pipeline { } steps { - dir('src/github.com/mattermost/mattermost-server') { + dir('src/github.com/mattermost/mattermost-server/build') { ansiColor('xterm') { sh """ - /usr/local/bin/docker-compose --no-ansi -f ./build/docker-compose.yml run --rm start_dependencies - /usr/local/bin/docker-compose --no-ansi -f ./build/docker-compose.yml ps - cat tests/${LDAP_DATA}-data.ldif | /usr/local/bin/docker-compose --no-ansi -f ./build/docker-compose.yml exec -T openldap bash -c 'ldapadd -x -D "cn=admin,dc=mm,dc=test,dc=com" -w mostest'; + /usr/local/bin/docker-compose --no-ansi run --rm start_dependencies + /usr/local/bin/docker-compose --no-ansi ps + cat ../tests/${LDAP_DATA}-data.ldif | /usr/local/bin/docker-compose --no-ansi exec -T openldap bash -c 'ldapadd -x -D "cn=admin,dc=mm,dc=test,dc=com" -w mostest'; """ } } diff --git a/build/docker-compose.yml b/build/docker-compose.yml index 9507d57fc6..3ae01b48dc 100644 --- a/build/docker-compose.yml +++ b/build/docker-compose.yml @@ -1,4 +1,4 @@ -version: '3.4' +version: '2.4' services: mysql: image: "mysql:5.7" diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000..a1a026a163 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,54 @@ +version: '2.4' +services: + mysql: + container_name: mattermost-mysql + extends: + file: build/docker-compose.yml + service: mysql + postgres: + container_name: mattermost-postgres + extends: + file: build/docker-compose.yml + service: postgres + minio: + container_name: mattermost-minio + extends: + file: build/docker-compose.yml + service: minio + inbucket: + container_name: mattermost-inbucket + extends: + file: build/docker-compose.yml + service: inbucket + openldap: + container_name: mattermost-openldap + extends: + file: build/docker-compose.yml + service: openldap + elasticsearch: + container_name: mattermost-elasticsearch + extends: + file: build/docker-compose.yml + service: elasticsearch + redis: + container_name: mattermost-redis + extends: + file: build/docker-compose.yml + service: redis + start_dependencies: + image: mattermost/mattermost-wait-for-dep:latest + networks: + - mm-test + depends_on: + - mysql + - postgres + - minio + - inbucket + - openldap + - elasticsearch + - redis + command: postgres:5432 mysql:3306 minio:9000 inbucket:10080 openldap:389 elasticsearch:9200 redis:6379 + +networks: + mm-test: + driver: bridge