我想運行一個node.js腳本的永久命令來在後臺運行它。我的完整命令是永遠運行node.js在窗口上使用jenkins
"C:/Users/Administrator/AppData/Roaming/npm/forever.cmd" -c "C:/Program Files/nodejs/node.exe" start app.js
當我直接在命令提示符下運行它時,它可以正常工作。然而,當我把它作爲構建步驟在詹金斯,我總是得到以下錯誤機器設置正確
C:\Program Files (x86)\Jenkins\workspace\apps>"C:/Users/Administrator/AppData/Roaming/npm/forever.cmd" -c "C:/Program Files/nodejs/node.exe" start app.js
'node' is not recognized as an internal or external command,
operable program or batch file.
Build step 'Execute Windows batch command' marked build as failure
路徑,包括路徑節點應用。這被確認爲命令在從屬機器上本地運行而不提供絕對路徑時成功運行。另外,我已經使用-c選項在命令本身提供了可執行節點的路徑,以防它從PATH變量中剔除。
不確定這是因爲jenkins使用JVM客戶端在窗口上運行的東西?
任何建議來解決這個問題。
感謝 馬諾
你使用的是永久贏取https://www.npmjs.com/package/forever-win? – Slav
我使用永久安裝使用npm永久安裝-g命令在Windows上。由於該命令在windows機器上本地運行時運行良好,我沒有看到永久包的問題。問題似乎是jenkins如何在Windows上驅動此命令。由於永遠本身調用它裏面的節點,所以想知道jenkins層需要一些配置(在JVM客戶端中,Jenkins運行連接到窗口機器)。 –
問題仍然是'PATH'。詹金斯可能不會像本地登錄用戶那樣在同一用戶下運行(您嘗試過使用命令行測試)。做一個簡單的測試:觸發一個只有「執行Windows批處理命令」構建步驟的構建,並且只寫入'set'。這將打印所有環境變量。確認它們全部正確並且路徑在那裏正確設置。 – Slav