我正在做一些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。我想在运行测试时覆盖 test 配置文件CI的值,因为我正在使用以下命令
有轮廓的travis测试
这里lein正在激活 travis 配置文件,但是它是从 test 配置文件而不是 travis 配置文件中获取环境变量值的。
有人遇到这样的问题吗?
答案 0 :(得分:0)
为什么:默认情况下,莱因merges test
profile。您可以使用lein with-profile travis,test pprint
解决方案:我假设您正在使用environ
或类似的东西。如果是这样,您可以使用UPCASE_WITH_UNDERSCORE
中的env导出值(例如DATABASE_NAME=test_library_test
),它们将覆盖配置文件中的值