* 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)
@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.

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

@@ -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';
"""
}
}

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

@@ -1,4 +1,4 @@
version: '3.4'
version: '2.4'
services:
mysql:
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