我通過Tomcat運行Hudson作爲Windows服務,沒有涉及到奴隸。作業中的最後一個構建步驟是調用一些Java代碼的批處理文件。該代碼使用PostgreSQL的命令行工具psql(通過Runtime.exec())在本地機器上創建數據庫,並最終針對它運行一些測試。Hudson的工作掛在Runtime.exec
作業將進行到這一點,然後無限期地掛起而不開始創建數據庫。如果我從命令行運行批處理文件,它可以很好地工作。我不認爲http://hudson.gotdns.com/wiki/display/HUDSON/Spawning+processes+from+build適用,因爲這個過程似乎並沒有開始執行,但我是新來的,所以請讓我知道,如果我錯了。
編輯@anjanb: 批處理文件的唯一目的是調用Java代碼,並且唯一的用戶輸入作爲命令行參數傳入,我可以看到它直接通過構建的控制檯輸出進入。
Process Explorer顯示psql正在啓動,但它顯然沒有被執行,因爲給出的第一個命令psql是創建一個新的數據庫,但是這沒有發生。
編輯2:我收到了Hudson用戶郵件列表的一些提示,我會在星期一嘗試一下,然後回報。
編輯3:Java代碼已經在使用輸出流,我在開發代碼時使用了該文章。我無法弄清楚發生了什麼,所以我正在重新開發代碼以使用JDBC來創建數據庫,而不是依賴於psql和Runtime.exec()
這是一個很好的資源,我用它來寫代碼本身。它掛起來了,但至少現在開始創建數據庫。 – rjohnston 2008-09-27 01:22:44