电子app Travis CI构建失败

时间:2017-09-01 18:46:18

标签: build continuous-integration electron travis-ci xlib

我正在使用Electron使用javascript构建跨平台应用。我在使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

这是一个构建日志(在pastebin中,因为它很大):https://pastebin.com/8N4P2S7Y。重要的部分如下:

> ThemeCreator@0.1.0 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

非常感谢你们提供的任何帮助!

1 个答案:

答案 0 :(得分:1)

应该可以使用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