我們用一個mac slave在我的本地開發人員機器上安置了Jenkins服務器。已經通過electron/node.js創建了應用程序應用程序。在MAC OS X上創建Errror「spawn spctl ENOENT」與Jenkins一起運行的奴隸
Jenkins通過ssh和我的用戶名/密碼連接到我的os x機器。我可以看到,在構建過程中,我們的app-directory被製作並保存在我的機器上指定的位置。 (slave.jar,工作空間目錄等)。
詹金斯現在運行到一個錯誤,如下所示,如果代碼簽名啓動:
[mac] [ExampleApp] Running shell script
[mac] + npm run dist-mac
[mac]
[mac] > [email protected] dist-mac ../workspace/Example-App/ExampleApp
[mac] > build -m
[mac]
[mac] Warning: "directories" in the root is deprecated, please specify in the "build"
[mac] Rebuilding native production dependencies for darwin:x64
[mac] Packaging for darwin x64 using electron 1.4.13 to ../ExampleApp-dist/mac
[mac] Signing app (identity: Developer ID Application: Example Company Name (ABCDEFGHIJKLMNOPQRSTUVWXYZ))
[mac]
[mac] Error: spawn spctl ENOENT
[mac] at exports._errnoException (util.js:1023:11)
[mac] at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
[mac] at onErrorNT (internal/child_process.js:359:16)
[mac] at _combinedTickCallback (internal/process/next_tick.js:74:11)
[mac] at process._tickCallback (internal/process/next_tick.js:98:9)
[mac] From previous event:
[mac] at MacPackager.sign (/usr/local/lib/node_modules/electron-builder/out/macPackager.js:253:11)
[mac] at /usr/local/lib/node_modules/electron-builder/src/macPackager.ts:81:26
[mac] From previous event:
[mac] at /usr/local/lib/node_modules/electron-builder/src/macPackager.ts:81:10
[mac] at Generator.next (<anonymous>)
[mac] From previous event:
[mac] at MacPackager.pack (/usr/local/lib/node_modules/electron-builder/out/macPackager.js:173:11)
[mac] at /usr/local/lib/node_modules/electron-builder/src/packager.ts:210:22
[mac] From previous event:
[mac] at Packager.doBuild (/usr/local/lib/node_modules/electron-builder/out/packager.js:335:11)
[mac] at /usr/local/lib/node_modules/electron-builder/src/packager.ts:151:38
[mac] at Generator.next (<anonymous>)
[mac] at runCallback (timers.js:651:20)
[mac] at tryOnImmediate (timers.js:624:5)
[mac] at processImmediate [as _immediateCallback] (timers.js:596:5)
[mac] From previous event:
[mac] at Packager.build (/usr/local/lib/node_modules/electron-builder/out/packager.js:261:11)
[mac] at /usr/local/lib/node_modules/electron-builder/src/builder.ts:214:40
[mac] at Generator.next (<anonymous>)
[mac] From previous event:
[mac] at build (/usr/local/lib/node_modules/electron-builder/out/builder.js:63:21)
[mac] at Object.<anonymous> (/usr/local/lib/node_modules/electron-builder/out/cli/build-cli.js:68:41)
[mac] at Module._compile (module.js:571:32)
[mac] at Object.Module._extensions..js (module.js:580:10)
[mac] at Module.load (module.js:488:32)
[mac] at tryModuleLoad (module.js:447:12)
[mac] at Function.Module._load (module.js:439:3)
[mac] at Module.runMain (module.js:605:10)
[mac] at run (bootstrap_node.js:418:7)
[mac] at startup (bootstrap_node.js:139:9)
[mac] at bootstrap_node.js:533:3
[mac]
[mac] npm ERR! Darwin 15.6.0
[mac] npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "dist-mac"
[mac] npm ERR! node v7.5.0
[mac] npm ERR! npm v4.1.2
[mac] npm ERR! code ELIFECYCLE
[mac] npm ERR! [email protected] dist-mac: `build -m`
[mac] npm ERR! Exit status 255
[mac] npm ERR!
[mac] npm ERR! Failed at the [email protected] dist-mac script 'build -m'.
[mac] npm ERR! Make sure you have the latest version of node.js and npm installed.
[mac] npm ERR! If you do, this is most likely a problem with the ExampleApp package,
[mac] npm ERR! not with npm itself.
[mac] npm ERR! Tell the author that this fails on your system:
[mac] npm ERR! build -m
[mac] npm ERR! You can get information on how to open an issue for this project with:
[mac] npm ERR! npm bugs ExampleApp
[mac] npm ERR! Or if that isn't available, you can get their info via:
[mac] npm ERR! npm owner ls ExampleApp
[mac] npm ERR! There is likely additional logging output above.
[mac]
[mac] npm ERR! Please include the following file with any support request:
[mac] npm ERR! ../workspace/Example-App/ExampleApp/npm-debug.log
它有趣的是,如果我手動連接通過SSH從另一臺機器到我的本地機器的執行終端的「build -m」功能,然後構建完美無誤。
我需要在首選項中設置它與Jenkins-SSH一起工作嗎?或者爲什麼我只從Jenkins那裏得到他的錯誤