Gitlab трубопроводов в JDBC - PullRequest
0 голосов
/ 13 марта 2019

Я работаю над веб-приложением Servlet с JDBC.У меня есть тесты Junit для моего DAO.Они работают, но когда я начинаю свои тесты, у меня появляется ошибка, что таблицы не существуют.Что я сделал:

private static Flyway flyway;

@BeforeClass
public static void initMigrations() {
    flyway = Flyway.configure()
            .dataSource("jdbc:postgresql://localhost:5432/test", "postgres", "postgres")
            .load();
    flyway.migrate();
}

@AfterClass
public static void dropMigrations() {
    flyway.clean();
}

Это работает на моем компьютере.Но когда я запускаю конвейеры на gitlab, они терпят неудачу.Есть ошибки, из-за которых maven не может найти каталог db /igration.Я попытался установить в моем пути к ресурсам добавления pom, но все еще ничего.

Мой gitlab-ci.yml

image: maven:latest

services:
    - postgres:10

variables:
  MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode"
  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
  POSTGRES_DB: test
  POSTGRES_HOST: localhost
  POSTGRES_PORT: 5432
  POSTGRES_USER: postgres
  POSTGRES_PASSWORD: postgres

build:
  stage: build
  script:
    - 'mvn -B clean'
    - 'mvn -B install'

Как я могу инициировать создание таблицы в тестах?Может без миграций?Мне просто нужны пустые таблицы.И как я могу заставить мои конвейеры работать?

...