No ambiente de teste querydsl atual, vagrant é usado.
Este ambiente é bom, mas requer uma série de pré-requisitos. (VirtualBox, Puppet, Vagrant..)
Se fornecermos vários bancos de dados como docker compose, não seria mais simples construir um ambiente de teste?
por exemplo,
version: '2'
services:
mysql:
image: mysql:5.5
environment:
MYSQL_USER: querydsl
MYSQL_PASSWORD: querydsl
MYSQL_DATABASE: querydsl
MYSQL_ROOT_PASSWORD: querydsl
volumes:
- /var/lib/mysql
ports:
- "3306:3306"
postgre-sql:
image: postgres:9.1
ports:
- "5433:5432"
environment:
POSTGRES_USER: querydsl
POSTGRES_PASSWORD: querydsl
POSTGRES_DATABASE: querydsl
POSTGRES_ROOT_PASSWORD: querydsl
volumes:
- /var/lib/postgresql/data
.
.
.
(Other necessary database environments...)
É possível. Normalmente, eu apenas testo no banco de dados de minha preferência (que é executado no Docker) e confio no CI para todos os vários bancos de dados suportados.
Normalmente, apenas executo o arquivo docker-compose que usamos no CI localmente.
Ah aqui está: https://github.com/querydsl/querydsl/blob/master/travis/docker-compose.yml
Acho que poderíamos mencioná-lo no README
Ah, o docker-compose já existe! :)
Vou alterá-lo para um problema que menciona o ambiente de composição do docker no arquivo Leiame.
Eu tenho pensado em atualizar o leia-me e mover o arquivo docker-compose.yml
para a raiz do projeto. Obrigado pela lembrança.
Comentários muito úteis
Ah aqui está: https://github.com/querydsl/querydsl/blob/master/travis/docker-compose.yml
Acho que poderíamos mencioná-lo no README