lein test with-profile не может переопределить значение env тестового профиля

Я делаю какой-то домашний проект Clojure. У меня есть несколько профилей, таких как следующие

{:test   {:env {:database-name     "library_test",
                :host-name         "192.168.33.10"
                :username          "library_admin"
                :password          ""
                :dbtype            "postgres"
                :driver-class-name "org.postgresql.Driver"}},
 :dev    {:env {:database-name     "library",
                :host-name         "192.168.33.10"
                :username          "library_admin"
                :password          ""
                :dbtype            "postgres"
                :driver-class-name "org.postgresql.Driver"}},
 :travis {:env {:database-name     "test_library_test",
                :host-name         "localhost"
                :username          "test_user"
                :password          "password"
                :dbtype            "postgres"
                :driver-class-name "org.postgresql.Driver"}}}

Сейчас я пытаюсь настроить Travis-CI для проекта. Я хочу переопределить значение CI профиля теста во время выполнения теста, для этого я использую следующую команду

Лейн с профильным тестом

Здесь lein активирует профиль travis, но выбирает значение переменных среды из тестового профиля, а не из профиля travis.

Кто-нибудь сталкивался с такими проблемами?

1 ответ

Почему: Лейн сливается test профиль по умолчанию. Вы можете увидеть эффективную карту проекта с lein with-profile travis,test pprint

Решение: я предполагаю, что вы используете environ или что-то типа того. Если это так, вы можете экспортировать значения с помощью env в UPCASE_WITH_UNDERSCORE (например DATABASE_NAME=test_library_test) и они будут переопределять значения в профилях

Другие вопросы по тегам