* add docker-compose for ci

* docker-compose logs does not have the option to set the dc file

* leverage docker-compose extends

This moves the developer `docker-compose.yml` to the root, extending the `build/docker-compose.yml` and overriding the `container_name` to preserve compatibility with the older, non-docker-compose setup.

Note that this required downgrading to docker-compose 2.4's file format (still supported by the newer tooling) due to the long and frustrating converstaion at https://github.com/moby/moby/issues/31101.

* remove -f docker-compose-ci.yml references
Этот коммит содержится в:
Carlos Tadeu Panato Junior
2019-08-06 08:46:53 +02:00
коммит произвёл GitHub
родитель a1a190e5c0
Коммит c927fb9d50
4 изменённых файлов: 64 добавлений и 10 удалений

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

@@ -116,8 +116,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 -f ./build/docker-compose.yml run --rm start_dependencies docker-compose --no-ansi 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'; 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 else
@echo CI Build: skipping docker start @echo CI Build: skipping docker start
@@ -126,14 +126,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 -f ./build/docker-compose.yml stop docker-compose --no-ansi 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 -f ./build/docker-compose.yml down -v docker-compose --no-ansi down -v
docker-compose --no-ansi -f ./build/docker-compose.yml rm -v docker-compose --no-ansi rm -v
govet: ## Runs govet against all packages. govet: ## Runs govet against all packages.

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

@@ -131,12 +131,12 @@ pipeline {
} }
steps { steps {
dir('src/github.com/mattermost/mattermost-server') { dir('src/github.com/mattermost/mattermost-server/build') {
ansiColor('xterm') { ansiColor('xterm') {
sh """ sh """
/usr/local/bin/docker-compose --no-ansi -f ./build/docker-compose.yml run --rm start_dependencies /usr/local/bin/docker-compose --no-ansi run --rm start_dependencies
/usr/local/bin/docker-compose --no-ansi -f ./build/docker-compose.yml ps /usr/local/bin/docker-compose --no-ansi 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'; 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';
""" """
} }
} }

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

@@ -1,4 +1,4 @@
version: '3.4' version: '2.4'
services: services:
mysql: mysql:
image: "mysql:5.7" image: "mysql:5.7"

54
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