Gradle:我如何 运行 我的 LIquibase 变更集作为我正常构建过程的一部分?

Gradle: How do I run my LIquibase changesets as part of my normal build process?

我正在使用 Gradle 2.7 和 Gradle Liquibase 插件 v 1.1.1。我如何 运行 我的 changeSets 作为使用

进行正常构建的一部分
gradle build

?我目前在我的 build.gradle 文件中有这个 ...

liquibase {
  activities {
    main {
        File propsFile = new File("${project.rootDir}/src/main/resources/liquibase.properties")
      Properties properties = new Properties()
      properties.load(new FileInputStream(propsFile))
      changeLogFile 'src/main/resources/db.changelog-1.0.xmlll'
      url '${url}'
      username '${username}'
      password '${password}'
    }
    runList = main
  }
}

但是当我运行上面的命令("gradle build")时,上面的不是运行。我知道它不是 运行,因为 username/password 不正确,而且我没有以“.xmlll”结尾的更改日志文件。我还需要添加什么以确保 hte 插件始终尝试执行变更集?

您需要定义从构建到更新的任务依赖性。

build.dependsOn update

要在测试前将任务交给 运行(假设您没有定义新任务),您可以

test.dependsOn update

参考:

您可以在 gradle 构建文件中定义它

apply plugin: 'liquibase'
dependencies {
  classpath 'org.liquibase:liquibase-gradle-plugin:1.2.0'
}
liquibase {
  activities {
     main {
  changeLogFile 'changelog.xml'
  url 'jdbc:h2:db/liquibase_workshop;FILE_LOCK=NO'
  username 'sa'
  password ''
      }
 }

然后运行这个命令
gradle 更新