Почему flyway не распознает системные переменные в CI для подключения к БД?
Всем добрый день!
У меня возникла следующая проблема при загрузке проекта на гитхаб. Настроен CI, который создает postgres контейнер и билдит приложение
для постгреса в файле maven.yml (который описывает github Action) я использую переменные репозитория
postgres:
image: postgres
env:
POSTGRES_USER: ${{ vars.POSTGRES_USER }}
POSTGRES_PASSWORD: ${{ vars.POSTGRES_PASSWORD }}
POSTGRES_DB: ${{ vars.POSTGRES_DB }}
Когда срабатывает CI я получаю много текста, из которого можно выделить
SQL State : 08001
Error Code : 0
Message : The connection attempt failed.
at org.flywaydb.core.internal.jdbc.JdbcUtils.openConnection(JdbcUtils.java:60) ~[flyway-core-8.5.13.jar:na]
at org.flywaydb.core.internal.jdbc.JdbcConnectionFactory.<init>(JdbcConnectionFactory.java:75) ~[flyway-core-8.5.13.jar:na]
at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:147) ~[flyway-core-8.5.13.jar:na]
Т.е. flyway не смог связаться с БД. Связывается он через application.properties в котором указано
spring.datasource.url= jdbc:postgresql://postgres:5432/dev_jrtb_db
#dev_jrtb_user
spring.datasource.username = ${BOT_DB_NAME}
#dev_jrtb_pass
spring.datasource.password = ${BOT_DB_PASSWORD}
Собственно, если стоит использование переменных - то ошибка. Если прописать значения напрямую (из комментов) - то все отрабатывает
Подскажите, почему валится соединение с БД, если прописано использование переменных? Задавал их в Environment variables и в Repository variables в репозитории гитхаба
Дополнительный вопрос, подскажите, как можно настроить запуск тестового профиля для github actions? Пока у меня при запуске CI
2024-04-21 11:19:00.220 INFO 2229 --- [ main] .N.J.JavarushTelegrambotApplicationTests : No active profile set, falling back to 1 default profile: "default"
ссылка на проект https://github.com/Naroru/JavaRushTelegramBot/tree/Test_CI