Просто начинаю работать с GitLab, и я не могу заставить мою конфигурацию работать. Я использую следующее:
image: maven:3.3-jdk-8-alpine
stages:
- prepare
- build
services:
- postgres:latest
variables:
POSTGRES_DB: my_database
POSTGRES_USER: runner
POSTGRES_PASSWORD: runner
prepare_db:
stage: prepare
image: postgres
script:
- export PGPASSWORD=$POSTGRES_PASSWORD
- psql -h "postgres" -U "$POSTGRES_USER" -d "$POSTGRES_DB" -c "CREATE EXTENSION \"uuid-ossp\";"
build:
stage: build
script: mvn clean test
Работает нормально, если я просто хочу скомпилировать свой код, тогда сборка будет просто mvn clean compile
, но для запуска тестов мне нужен экземпляр PostgreSQL. В моем коде я использую UUID, поэтому мне нужно убедиться, что установлено расширение uuid-ossp.
В моей работе prepare_db
я могу подключиться к экземпляру Postgres и выполнить команду. Я также проверил, что расширение установлено правильно, введя вторую команду сценария SELECT uuid_generate_v4();
и он возвращает uuid.
Когда бегун добирается до задания build
, он постоянно говорит мне, что функция uuid_generate_v4 () отсутствует. Моя prepare_db
работа выполняется на другом экземпляре Postgres?