Dockerize oracle, mysql, postgres, cubrid, firebird, db2, and mongo

This commit is contained in:
John Tims 2016-07-23 06:51:26 -06:00
parent 421049b471
commit 0f86f68619
16 changed files with 95 additions and 63 deletions

View File

@ -2,23 +2,17 @@ language: java
jdk:
- oraclejdk8
services:
- mongodb
addons:
postgresql: "9.3"
- docker
env:
matrix:
- MODULE=!querydsl-scala PROFILES=all,travis,examples
- MODULE=!querydsl-jpa-codegen PROFILES=jpa,hibernate5,travis,examples
- MODULE=querydsl-scala PROFILES=all,travis
install:
- mvn -B -q --projects ${MODULE} -P${PROFILES} install -DskipTests=true
install: /bin/true
before_script:
- mysql -u root -e "source travis/mysql.sql"
- psql -U postgres -f travis/postgresql.sql
- psql -c 'create extension postgis;' -d querydsl -U postgres
- ./travis/cubrid.sh
- ./travis/firebird.sh
script: mvn -B test -P${PROFILES} --projects ${MODULE} jacoco:report
- sudo /etc/init.d/mysql stop
- ./travis/docker_bootstrap.sh
script: mvn --batch-mode test --activate-profiles ${PROFILES} --projects ${MODULE} jacoco:report
sudo: required
after_success:
- mvn coveralls:report

View File

@ -22,7 +22,7 @@
(def cubrid-db {:classname "cubrid.jdbc.driver.CUBRIDDriver"
:subprotocol "cubrid"
:subname "localhost:30000:demodb:public::"})
:subname "localhost:30000:demodb:dba::"})
(count (j/query oracle-db (s/select * :all_tables)))
(count (j/query postgres-db (s/select * :pg_catalog.pg_tables)))

View File

@ -253,7 +253,7 @@
<property name="hibernate.archive.autodetection" value="class" />
<property name="hibernate.dialect" value="com.querydsl.jpa.support.QPostgreSQL9Dialect" />
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />
<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/querydsl" />
<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5433/querydsl" />
<property name="hibernate.connection.username" value="querydsl" />
<property name="hibernate.connection.password" value="querydsl" />
<!-- <property name="hibernate.show_sql" value="true"/> -->
@ -267,7 +267,7 @@
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/querydsl2" />
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5433/querydsl2" />
<property name="javax.persistence.jdbc.user" value="querydsl" />
<property name="javax.persistence.jdbc.password" value="querydsl" />
<property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
@ -285,8 +285,8 @@
<property name="hibernate.dialect" value="com.querydsl.jpa.support.QOracle10gDialect" />
<property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver" />
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="hibernate.connection.username" value="querydsl" />
<property name="hibernate.connection.password" value="querydsl" />
<property name="hibernate.connection.username" value="system" />
<property name="hibernate.connection.password" value="oracle" />
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.flushMode" value="FLUSH_AUTO" />
<property name="hibernate.hbm2ddl.auto" value="update" />
@ -311,4 +311,4 @@
</properties>
</persistence-unit>
</persistence>
</persistence>

View File

@ -9,4 +9,4 @@ hibernate.connection.password=querydsl
#hibernate.show_sql=true
hibernate.flushMode=FLUSH_AUTO
hibernate.hbm2ddl.auto=update
#hibernate.use_sql_comments=true
#hibernate.use_sql_comments=true

View File

@ -3,11 +3,11 @@
hibernate.dialect=com.querydsl.jpa.support.QOracle10gDialect
hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
hibernate.connection.url=jdbc:oracle:thin:@localhost:1521:xe
hibernate.connection.username=querydsl
hibernate.connection.password=querydsl
hibernate.connection.username=system
hibernate.connection.password=oracle
## Common properties
#hibernate.show_sql=true
hibernate.flushMode=FLUSH_AUTO
hibernate.hbm2ddl.auto=update
#hibernate.use_sql_comments=true
#hibernate.use_sql_comments=true

View File

@ -1,7 +1,7 @@
## MySQL
hibernate.dialect=com.querydsl.jpa.support.QPostgreSQL9Dialect
hibernate.connection.driver_class=org.postgresql.Driver
hibernate.connection.url=jdbc:postgresql://localhost:5432/querydsl
hibernate.connection.url=jdbc:postgresql://localhost:5433/querydsl
hibernate.connection.username=querydsl
hibernate.connection.password=querydsl
@ -9,4 +9,4 @@ hibernate.connection.password=querydsl
#hibernate.show_sql=true
hibernate.flushMode=FLUSH_AUTO
hibernate.hbm2ddl.auto=update
#hibernate.use_sql_comments=true
#hibernate.use_sql_comments=true

View File

@ -1,3 +1,4 @@
package com.querydsl.sql.spatial;
import static com.querydsl.core.Target.*;

View File

@ -89,7 +89,7 @@ public final class Connections {
private static Connection getDB2() throws SQLException, ClassNotFoundException {
Class.forName("com.ibm.db2.jcc.DB2Driver");
String url = "jdbc:db2://db2host:50001/SAMPLE";
String url = "jdbc:db2://localhost:50000/sample";
return DriverManager.getConnection(url, "db2inst1", "a3sd!fDj");
}
@ -101,8 +101,8 @@ public final class Connections {
private static Connection getFirebird() throws SQLException, ClassNotFoundException {
Class.forName("org.firebirdsql.jdbc.FBDriver");
String url = "jdbc:firebirdsql:localhost/3050:/var/lib/firebird/2.5/data/querydsl.fdb";
return DriverManager.getConnection(url, "querydsl", "querydsl");
String url = "jdbc:firebirdsql:localhost/3050:/databases/querydsl.fdb";
return DriverManager.getConnection(url, "sysdba", "masterkey");
}
private static Connection getHSQL() throws SQLException, ClassNotFoundException {
@ -126,12 +126,12 @@ public final class Connections {
private static Connection getOracle() throws SQLException, ClassNotFoundException {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:xe";
return DriverManager.getConnection(url, "querydsl", "querydsl");
return DriverManager.getConnection(url, "system", "oracle");
}
private static Connection getPostgreSQL() throws ClassNotFoundException, SQLException {
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://localhost:5432/querydsl";
String url = "jdbc:postgresql://localhost:5433/querydsl";
return DriverManager.getConnection(url, "querydsl", "querydsl");
}

View File

@ -1,7 +0,0 @@
#!/bin/sh
hostname | sed 's/^/127.0.0.1 /g' | cat - /etc/hosts > /tmp/etchoststemp && sudo mv /tmp/etchoststemp /etc/hosts --force
echo 'yes' | sudo add-apt-repository ppa:cubrid/cubrid
sudo apt-get update
sudo apt-get install cubrid
sudo apt-get install cubrid-demodb
/etc/profile.d/cubrid.sh

59
travis/docker-compose.yml Normal file
View File

@ -0,0 +1,59 @@
mysql:
image: mysql:5.6.38
ports:
- "3306:3306"
volumes:
- ./mysql.sh:/docker-entrypoint-initdb.d/mysql.sh
environment:
- MYSQL_ROOT_PASSWORD=querydsl
- MYSQL_USER=querydsl
- MYSQL_PASSWORD=querydsl
postgresql:
image: mdillon/postgis:9.3-alpine
ports:
- "5433:5432"
volumes:
- ./postgresql.sql:/docker-entrypoint-initdb.d/postgresql.sql
environment:
- POSTGRES_USER=querydsl
- POSTGRES_PASSWORD=querydsl
- POSTGRES_DB=querydsl
oracle:
image: wnameless/oracle-xe-11g:16.04
ports:
- "1521:1521"
cubrid:
image: lighthopper/cubrid:9.2.26.0004
ports:
- "33000:33000"
- "30000:30000"
- "8001:8001"
- "8002:8002"
- "1523:1523"
mongo:
image: mongo:3.6.1
ports:
- "27017:27017"
db2:
image: ibmcom/db2express-c:10.5.0.5-3.10.0
ports:
- "50000:50000"
environment:
- DB2INST1_PASSWORD=a3sd!fDj
- LICENSE=accept
command: db2start
firebird:
image: jacobalberty/firebird:2.5.6-ss
ports:
- "3050:3050"
environment:
- ISC_PASSWORD=masterkey
- FIREBIRD_DATABASE=querydsl.fdb
- FIREBIRD_USER=querydsl
- FIREBIRD_PASSWORD=querydsl

7
travis/docker_bootstrap.sh Executable file
View File

@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -ex
docker-compose --file travis/docker-compose.yml up -d mysql postgresql firebird cubrid mongo
docker exec $(docker-compose --file travis/docker-compose.yml ps -q cubrid) /bin/bash -c 'mkdir -p ~/CUBRID_databases/demodb && cd $_ && cubrid createdb --db-volume-size=100M --log-volume-size=100M demodb en_US.iso88591 && cubrid loaddb -u dba -s $CUBRID/demo/demodb_schema -d $CUBRID/demo/demodb_objects demodb'
docker exec -d $(docker-compose --file travis/docker-compose.yml ps -q cubrid) /bin/bash -c 'cubrid server start demodb'
docker ps

View File

@ -1,12 +0,0 @@
#!/bin/sh
sudo apt-get install -qq firebird2.5-super firebird2.5-dev
sudo sed /ENABLE_FIREBIRD_SERVER=/s/no/yes/ -i /etc/default/firebird2.5
cat /etc/default/firebird2.5 | grep ENABLE_FIREBIRD_SERVER
sudo service firebird2.5-super start
#PASSWORD=`sudo cat /etc/firebird/2.5/SYSDBA.password | grep PASS | sed -e 's/.*PASSWORD="\([^"]*\)".*/\1/'`
echo Create user
#sudo gsec -user sysdba -pass $PASSWORD -add querydsl -pw querydsl
sudo gsec -user sysdba -pass masterkey -add querydsl -pw querydsl
echo Create database
sudo isql-fb -u querydsl -pas querydsl -i travis/firebird.sql -q
#sudo isql-fb -u sysdba -pas $PASSWORD -i travis/firebird.sql -q

View File

@ -1,7 +0,0 @@
SET SQL DIALECT 3;
SET NAMES UNICODE_FSS;
CREATE DATABASE '/var/lib/firebird/2.5/data/querydsl.fdb'
PAGE_SIZE 16384
DEFAULT CHARACTER SET UNICODE_FSS;

6
travis/mysql.sh Normal file
View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "CREATE SCHEMA querydsl"
mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "CREATE SCHEMA querydsl2"
mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "GRANT ALL PRIVILEGES ON *.* TO 'querydsl'@'%'"

View File

@ -1,6 +0,0 @@
create database querydsl;
create database querydsl2;
create user 'querydsl'@'localhost' identified by 'querydsl';
grant all privileges on querydsl.* to 'querydsl'@'localhost';
grant all privileges on querydsl2.* to 'querydsl'@'localhost';

View File

@ -1,5 +1,2 @@
create database querydsl;
create database querydsl2;
create user querydsl with password 'querydsl';
grant all privileges on database querydsl to querydsl;
grant all privileges on database querydsl2 to querydsl;