Gradle 执行任务不是在远程主机上以 psql 开头
Gradle Exec Task not starting with psql on remote host
我需要在 Gradle(版本 4.2.1)中的远程数据库上执行 SQL 脚本。所以我尝试了 Exec 任务。当数据库在我的本地计算机上时,该任务有效。对于远程主机,任务未启动。
这些是任务(第一个完美运行)。
task psqlLocalExec(type: Exec) {
commandLine 'cmd', '/c', 'psql -f myscript.sql'
}
task psqlRemoteExec(type: Exec) {
commandLine 'cmd', '/c', 'psql -h my.remote.host -f myscript.sql' // not working
}
命令行输出(几分钟后我取消了):
C:\myproject>gradlew :proj:psqlRemoteExec --stacktrace
<-------------> 0% EXECUTING [3m 43s]
> :proj:psqlRemoteExec
在 cmd 上(没有 Gradle)命令有效。
我的Password File Configuration脚本有误。要修复可以设置环境变量的问题:
task psqlRemoteExec(type: Exec) {
environment 'PGPASSFILE', 'path/to/pgpass.conf'
commandLine 'cmd', '/c', 'psql -h my.remote.host -f myscript.sql'
}
我需要在 Gradle(版本 4.2.1)中的远程数据库上执行 SQL 脚本。所以我尝试了 Exec 任务。当数据库在我的本地计算机上时,该任务有效。对于远程主机,任务未启动。
这些是任务(第一个完美运行)。
task psqlLocalExec(type: Exec) {
commandLine 'cmd', '/c', 'psql -f myscript.sql'
}
task psqlRemoteExec(type: Exec) {
commandLine 'cmd', '/c', 'psql -h my.remote.host -f myscript.sql' // not working
}
命令行输出(几分钟后我取消了):
C:\myproject>gradlew :proj:psqlRemoteExec --stacktrace
<-------------> 0% EXECUTING [3m 43s]
> :proj:psqlRemoteExec
在 cmd 上(没有 Gradle)命令有效。
我的Password File Configuration脚本有误。要修复可以设置环境变量的问题:
task psqlRemoteExec(type: Exec) {
environment 'PGPASSFILE', 'path/to/pgpass.conf'
commandLine 'cmd', '/c', 'psql -h my.remote.host -f myscript.sql'
}