电子应用程序Travis CI构建失败
问题描述:
我正在使用Electron构建使用JavaScript的跨平台应用程序。虽然让Travis CI能够成功构建,但我遇到了一些麻烦。电子应用程序Travis CI构建失败
的docs on setting it up说,我.travis.yml
应类似于此:
addons:
apt:
packages:
- xvfb
install:
- export DISPLAY=':99.0'
- Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
我现在.travis.yml
看起来是这样的:
language: node_js
node_js:
- "node"
addons:
apt:
packages:
- xvfb
before_install:
- cd src/
install:
- npm install
before_script:
- export DISPLAY=':99.0'
- Xvfb :99 -screen 0 1024x768x24 +extension GLX +extension RANDR > /dev/null 2>&1 &
script:
- npm test
这里是一个构建日志(在引擎收录,因为它是巨大的):https://pastebin.com/8N4P2S7Y。重要的部分如下:
> [email protected] test /home/travis/build/blabel3/ThemeCreator/src
> electron .
Xlib: extension "RANDR" missing on display ":99.0".
Xlib: extension "RANDR" missing on display ":99.0".
No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.
Check the details on how to adjust your build configuration on: https://docs.travis-ci.com/user/common-build-problems/#Build-times-out-because-no-output-was-received
The build has been terminated
非常感谢你们提供的任何帮助!
答
它应该可以只用sh -e /etc/init.d/xvfb start
目前我使用以下配置运行xvfb的,它工作正常。
os:
- linux
language: node_js
node_js:
- "7.7"
before_script:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export DISPLAY=:99.0; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sh -e /etc/init.d/xvfb start; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sleep 3; fi
script:
- node --version
- npm --version
- npm install
- npm run e2e
你也可以用'''xvfb-run my_script''来减少一些设置。 http://manpages.ubuntu.com/manpages/zesty/man1/xvfb-run.1.html – renemilk