Мы используем spring boot
и Jooq
вместе в нашем проекте, и мы устанавливаем процесс Gitlab CI / CD с build
, test
, deploy
фазами.
Мы обнаружили, что Jooq может быть немного сложным при настройке процесса CI / CD, так как нам нужно раскрутить докерскую базу данных специально для запуска jooq.
В основном, наши шаги в фазе build
в Gitlab CI:
- Раскрути докернизированную базу данных
- Выполнить пролет:
mvn flyway:migrate ...
- Запуск
mvn package -DskipTests
(который запускает jooq
для генерации кода)
- Кэш
target/
Пока все хорошо, однако следующее задание CI / CD - это этап Test
, на котором мы делаем:
- Извлечь
target/
из кеша
- Пробег
mvn test -DskipJooq=true
Поскольку mvn package
уже выполнил jooq для генерации источников, проблема у нас заключается в том, что при вызове mvn test -DskipJooq=true
JOOQ ничего не делает, но нам все еще нужно jooq
для компиляции сгенерированных файлов java.
Я не мог найти ничего, связанного с этим. Есть ли способ добиться этого?
На данный момент мы решили эту проблему, раскрутив db, запустив flyway и jooq снова в фазе тестирования (тот же процесс, что и в фазе build
), но это выглядит ненужным, если мы могли бы сделать jooq для компиляции Сгенерированные источники.