有没有办法告诉gradle哪些配置文件应该用于测试?

时间:2016-09-12 10:57:27

标签: spring gradle docker spring-boot build

我使用yml配置文件模式application-{default,dev,production}.yml

要定义将使用哪个配置应用程序,我修复了环境SPRING_PROFILES_ACTIVE=dev,因此当spring应用程序运行时,它会选择正确的配置。

我现在有两个问题:

  1. ./gradlew build命令也运行test命令,test需要具有应用程序在启动时所做的正确配置。
  2. 我的jenkins无权访问数据库,单位测试仍然失败。
  3. 哪个让人问:

    1. build命令是否按顺序尝试所有数据源?有没有办法指定spring boot active profile?
    2. 在jenkins的生产中部署spring-boots应用程序还有另外一种方法吗?
    3. 除了

      之外,是否有人有解决方法
      ./gradlew -x test build
      

      这不是我想要的。

      不要将@ActiveProfile("dev")添加到我的测试中,因为这需要修改源代码。

1 个答案:

答案 0 :(得分:0)

只需创建多个属性文件。例如:
    application.properties
    application-test.properties
    application-production.properties
    

    根据配置文件提供不同的属性和
    您可以在下面指定     要在gradle.build文件中加载哪个配置文件

def profile = "test"
bootRun {
 args = ["--spring.profiles.active="+profile]
}

将以下代码放在gradle文件的末尾