2

我正在哈德逊建立我的第一份工作,我遇到了一些问题。该作业监控两个存储库,一个包含我们的数据库设置文件,另一个包含一些验证和测试数据库设置文件的代码。

运行的部分代码将使用 psql 命令行工具,使用 Runtime.exec() 在 PostgreSQL 中抛出经过验证的设置文件。此代码在我的机器上完美运行,但是当 Hudson 执行它(不同的机器)时,我收到以下错误:

java.io.IOException: Cannot run program "psql": CreateProcess error=2, 系统找不到指定的文件

psql.exe 在路径上,我可以通过在命令行中键入整个内容来执行它,从 Hudson 执行代码的同一个地方开始。要传递给 psql 的文件存在。

有任何想法吗?

4

1 回答 1

3

我发现当你启动 hudson 或 slave 时,你需要将程序放在路径中。尽管有能力在哈德森设置路径,但它似乎不起作用。您也可以将完整路径放在命令中,无论如何从安全角度来看,这确实是一个好主意。

于 2008-09-26T01:30:07.917 回答