We use tmpfs for CI builds to speed things up, but this is unsuitable for local development. Also, don't use `--no-ansi` in the `Makefile` to allow colours to show up.
Этот коммит содержится в:
Jesse Hallam
2019-08-14 10:33:49 -04:00
коммит произвёл Harrison Healey
родитель b36eb415d1
Коммит 9b61506c7d
4 изменённых файлов: 91 добавлений и 61 удалений

Просмотреть файл

@@ -117,8 +117,8 @@ start-docker: ## Starts the docker containers for local development.
ifeq ($(IS_CI),false) ifeq ($(IS_CI),false)
@echo Starting docker containers @echo Starting docker containers
docker-compose --no-ansi run --rm start_dependencies docker-compose 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'; cat tests/${LDAP_DATA}-data.ldif | docker-compose exec -T openldap bash -c 'ldapadd -x -D "cn=admin,dc=mm,dc=test,dc=com" -w mostest || true';
else else
@echo CI Build: skipping docker start @echo CI Build: skipping docker start
@@ -127,14 +127,14 @@ endif
stop-docker: ## Stops the docker containers for local development. stop-docker: ## Stops the docker containers for local development.
@echo Stopping docker containers @echo Stopping docker containers
docker-compose --no-ansi stop docker-compose stop
clean-docker: ## Deletes the docker containers for local development. clean-docker: ## Deletes the docker containers for local development.
@echo Removing docker containers @echo Removing docker containers
docker-compose --no-ansi down -v docker-compose down -v
docker-compose --no-ansi rm -v docker-compose rm -v
govet: ## Runs govet against all packages. govet: ## Runs govet against all packages.

58
build/docker-compose.common.yml Обычный файл
Просмотреть файл

@@ -0,0 +1,58 @@
version: '2.4'
services:
mysql:
image: "mysql:5.7"
restart: always
networks:
- mm-test
environment:
MYSQL_ROOT_HOST: "%"
MYSQL_ROOT_PASSWORD: mostest
MYSQL_PASSWORD: mostest
MYSQL_USER: mmuser
MYSQL_DATABASE: mattermost_test
postgres:
image: "postgres:9.4"
restart: always
networks:
- mm-test
environment:
POSTGRES_USER: mmuser
POSTGRES_PASSWORD: mostest
POSTGRES_DB: mattermost_test
minio:
image: "minio/minio:RELEASE.2019-04-23T23-50-36Z"
command: "server /data"
networks:
- mm-test
environment:
MINIO_ACCESS_KEY: minioaccesskey
MINIO_SECRET_KEY: miniosecretkey
MINIO_SSE_MASTER_KEY: "my-minio-key:6368616e676520746869732070617373776f726420746f206120736563726574"
inbucket:
image: "jhillyerd/inbucket:release-1.2.0"
restart: always
networks:
- mm-test
openldap:
image: "osixia/openldap:1.2.2"
restart: always
networks:
- mm-test
environment:
LDAP_TLS_VERIFY_CLIENT: "never"
LDAP_ORGANISATION: "Mattermost Test"
LDAP_DOMAIN: "mm.test.com"
LDAP_ADMIN_PASSWORD: "mostest"
elasticsearch:
image: "mattermost/mattermost-elasticsearch-docker:6.5.1"
networks:
- mm-test
environment:
http.host: "0.0.0.0"
transport.host: "127.0.0.1"
ES_JAVA_OPTS: "-Xms512m -Xmx512m"
redis:
image: redis
networks:
- mm-test

Просмотреть файл

@@ -1,65 +1,37 @@
version: '2.4' version: '2.4'
services: services:
mysql: mysql:
image: "mysql:5.7" extends:
restart: always file: docker-compose.common.yml
networks: service: mysql
- mm-test
environment:
MYSQL_ROOT_HOST: "%"
MYSQL_ROOT_PASSWORD: mostest
MYSQL_PASSWORD: mostest
MYSQL_USER: mmuser
MYSQL_DATABASE: mattermost_test
tmpfs: /var/lib/mysql tmpfs: /var/lib/mysql
volumes: volumes:
- "./docker/mysql.conf.d:/etc/mysql/conf.d" - "./docker/mysql.conf.d:/etc/mysql/conf.d"
postgres: postgres:
image: "postgres:9.4" extends:
restart: always file: docker-compose.common.yml
networks: service: postgres
- mm-test
environment:
POSTGRES_USER: mmuser
POSTGRES_PASSWORD: mostest
POSTGRES_DB: mattermost_test
tmpfs: /var/lib/postgresql/data tmpfs: /var/lib/postgresql/data
minio: minio:
image: "minio/minio:RELEASE.2019-04-23T23-50-36Z" extends:
command: "server /data" file: docker-compose.common.yml
networks: service: minio
- mm-test
environment:
MINIO_ACCESS_KEY: minioaccesskey
MINIO_SECRET_KEY: miniosecretkey
MINIO_SSE_MASTER_KEY: "my-minio-key:6368616e676520746869732070617373776f726420746f206120736563726574"
inbucket: inbucket:
image: "jhillyerd/inbucket:release-1.2.0" extends:
restart: always file: docker-compose.common.yml
networks: service: inbucket
- mm-test
openldap: openldap:
image: "osixia/openldap:1.2.2" extends:
restart: always file: docker-compose.common.yml
networks: service: openldap
- mm-test
environment:
LDAP_TLS_VERIFY_CLIENT: "never"
LDAP_ORGANISATION: "Mattermost Test"
LDAP_DOMAIN: "mm.test.com"
LDAP_ADMIN_PASSWORD: "mostest"
elasticsearch: elasticsearch:
image: "mattermost/mattermost-elasticsearch-docker:6.5.1" extends:
networks: file: docker-compose.common.yml
- mm-test service: elasticsearch
environment:
http.host: "0.0.0.0"
transport.host: "127.0.0.1"
ES_JAVA_OPTS: "-Xms512m -Xmx512m"
redis: redis:
image: redis extends:
networks: file: docker-compose.common.yml
- mm-test service: redis
start_dependencies: start_dependencies:
image: mattermost/mattermost-wait-for-dep:latest image: mattermost/mattermost-wait-for-dep:latest

Просмотреть файл

@@ -5,21 +5,21 @@ services:
ports: ports:
- "3306:3306" - "3306:3306"
extends: extends:
file: build/docker-compose.yml file: build/docker-compose.common.yml
service: mysql service: mysql
postgres: postgres:
container_name: mattermost-postgres container_name: mattermost-postgres
ports: ports:
- "5432:5432" - "5432:5432"
extends: extends:
file: build/docker-compose.yml file: build/docker-compose.common.yml
service: postgres service: postgres
minio: minio:
container_name: mattermost-minio container_name: mattermost-minio
ports: ports:
- "9000:9000" - "9000:9000"
extends: extends:
file: build/docker-compose.yml file: build/docker-compose.common.yml
service: minio service: minio
inbucket: inbucket:
container_name: mattermost-inbucket container_name: mattermost-inbucket
@@ -28,7 +28,7 @@ services:
- "10080:10080" - "10080:10080"
- "10110:10110" - "10110:10110"
extends: extends:
file: build/docker-compose.yml file: build/docker-compose.common.yml
service: inbucket service: inbucket
openldap: openldap:
container_name: mattermost-openldap container_name: mattermost-openldap
@@ -36,7 +36,7 @@ services:
- "389:389" - "389:389"
- "636:636" - "636:636"
extends: extends:
file: build/docker-compose.yml file: build/docker-compose.common.yml
service: openldap service: openldap
elasticsearch: elasticsearch:
container_name: mattermost-elasticsearch container_name: mattermost-elasticsearch
@@ -44,14 +44,14 @@ services:
- "9200:9200" - "9200:9200"
- "9300:9300" - "9300:9300"
extends: extends:
file: build/docker-compose.yml file: build/docker-compose.common.yml
service: elasticsearch service: elasticsearch
redis: redis:
container_name: mattermost-redis container_name: mattermost-redis
ports: ports:
- "6379:6379" - "6379:6379"
extends: extends:
file: build/docker-compose.yml file: build/docker-compose.common.yml
service: redis service: redis
start_dependencies: start_dependencies:
image: mattermost/mattermost-wait-for-dep:latest image: mattermost/mattermost-wait-for-dep:latest