2017-02-09 12 views
0

Jenkins-serverを私のローカル開発マシンで動作するmacスレーブで解決しました。 electron/node.jsでアプリケーションアプリを作成するようになっています。Jenkinsで動作するMAC OS XスレーブでErrror "spawn spctl ENOENT"を作成

Jenkinsはsshと私のユーザ名/パスワードを使って私のos xマシンに接続します。ビルド中にappディレクトリが作成され、指定された場所のマシンに保存されていることがわかります。 (slave.jar、workspace-directoryなど)。次のように

ジェンキンスさんは現在、エラーに実行している場合は、コード署名が開始:

[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" -functionを実行すると、ビルドは完璧にエラーなく実行されます。

Jenkins-SSHでも動作する設定で何を設定する必要がありますか?または、なぜ私はジェンキンスだけから彼のエラーを取得するのですか

答えて

0

私はそれが私たちの問題の理想的な解決策だとは思わないが、少なくとも回避策です。

私たちが提案したように、問題は、jenkins-sshから始めると、欠落している環境変数にあります。このようにして、ビルドプロセスを手動で開始し、ビルドプロセスがエラーなく実行されるmacのターミナルにある場合は、コマンド 'printenv'によって取得できるすべての環境変数を設定するスクリプトを作成しました。次のように

したがって私と呼ばれるスクリプトは、例えばなります

#! /bin/sh 
################################################################################ 
# starts build manually and sets environment variables manually before starting build 
################################################################################ 
# first get environment-values with command "printenv" in terminal on the desired system, where build process runs 
# then set all line outputs with starting "export "; some example lines as follows 
export SHELL=/bin/bash 
export TERM=xterm-256color 
export MAVEN_OPTS=-Xms1024m -Xmx3g -XX:PermSize=1024m 
export PATH=/opt/subversion/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home 
export CLASSPATH_SEP=: 
export LANG=de_DE.UTF-8 
export XPC_FLAGS=0x0 
export XPC_SERVICE_NAME=0 
export LESSCHARSET=latin1 
export SHLVL=1 
export HOME=/Users/exampleUser 
export GIT_HOME=/usr/bin/ 
export TMP=/tmp 
export LOGNAME=exampleUser 
export CLASSPATH= 
export GIT_SRC_HOME=/Users/exampleUser/git 
export SECURITYSESSIONID=186a9 
export _=/usr/bin/printenv 

# now starts build 
cd <path-To-App-Directory> 
build -m 

# if desired check if app is signed 
#spctl --assess -vv "<path-to-build-application>" 
#codesign --verify -vvvv "<path-to-build-application>" 

我々は必要であるライン知らないが、限り、スクリプトの実行時に、すべてが私たちのために罰金です。

多分、他の専門家が私たちの問題に対する専門的な解決策を知っているかもしれません。今までは、この解決策を正解とマークしています。

関連する問題