如何为 gradle 任务命令行参数提供 flyway 密码?

Posted

技术标签:

【中文标题】如何为 gradle 任务命令行参数提供 flyway 密码?【英文标题】:How to provide flyway password to gradle task command line argument? 【发布时间】:2020-09-09 16:51:42 【问题描述】:

我试图设置 gradle 任务以使用 flyway 迁移我的 postgreSQL(任何数据库)。 以下是一种方法,但我不想在 gradle 构建文件中写入密码。

flyway 
        url  = 'jdbc:postgresql://localhost:8080/DB_NAME'
        user = 'username'
        password = '********'

然后运行任务,

./gradlew flywayMigrate -i

是否可以将其作为命令行参数提供,如下所示?

./gradlew flywayMigrate -i -password ********

我检查了https://flywaydb.org/documentation/gradle/migrate#configuration、https://flywaydb.org/getstarted/firststeps/gradle,但没有多大帮助。 注意:这个问题可能看起来类似于如何为 gradle build 任务提供参数,所以我在下面尝试了它也不起作用。提前致谢。

./gradlew flywayMigrate -i -Ppassword ********

【问题讨论】:

【参考方案1】:

可以使用flyway. 前缀传入属性:

./gradlew flywayMigrate -i -Pflyway.password ********

见https://flywaydb.org/documentation/gradle/#gradle-properties

【讨论】:

以上是关于如何为 gradle 任务命令行参数提供 flyway 密码?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Gradle 文件集合中的每个文件执行 shell 命令?

如何为网络摄像头提供论据

如何将参数从 gradle exec 任务传递到命令行

有没有办法从 gradle 任务中读取命令行参数?

在 gradle 中,如何为不同的任务创建单独的测试报告?

如何为 AWS ECS 任务定义提供环境变量?