我已经设置了一个应该运行Firefox的Jenkins作业。与Jenkins用户一起登录Ubuntu,我可以毫无问题地手动启动Firefox。但是,当我在Jenkins工作时,我得到:
[EnvInject] - Loading node environment variables.
Building in workspace /var/lib/jenkins/jobs/cbx4-ci/workspace
Fetching changes from the remote Git repository
Fetching upstream changes from git@bitbucket.org:cognibox/cbx4.git
Checking out Revision c90b791227b3788c2e023fd13db74ed1664428d1 (origin/master)
[EnvInject] - Executing scripts and injecting environment variables after the SCM step.
[EnvInject] - Injecting as environment variables the properties content
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
FIREFOX_BIN=/usr/bin/firefox
[EnvInject] - Variables injected successfully.
[workspace] $ /bin/sh -xe /tmp/hudson985724635788604565.sh
+ bash -ex runkarma.sh
+ node_modules/karma/bin/karma start config/karma.conf.js --reporters junit
[32mINFO [karma]: [39mKarma v0.10.9 server started at http://localhost:9876/
[32mINFO [launcher]: [39mStarting browser Firefox
[31mERROR [launcher]: [39mCannot start Firefox
[32mINFO [launcher]: [39mTrying to start Firefox again.
[31mERROR [launcher]: [39mCannot start Firefox
[32mINFO [launcher]: [39mTrying to start Firefox again.
[31mERROR [launcher]: [39mCannot start Firefox
如您所见,我已将环境变量注入指向Firefox。
一些有用的版本号如果可以帮助:
詹金斯1.546 NodeJs 0.10.24 Karma 0.10.9编辑:
可能很高兴知道我必须为jenkins用户做一个操作,以便能够首先运行firefox。作为我的主要用户,我必须让其他用户通过xhost +local:
启动Firefox。没有它,jenkins用户不断收到以下错误。
No protocol specified
No protocol specified
No protocol specified
No protocol specified
Error: cannot open display: :0
虽然这可能是我解决的一个单独的问题,但它可能会在我问的问题上发生,所以我觉得重要的是添加这个细节。
答案 0 :(得分:5)
知道了。事实证明,问题源于对如何首先运行业力的误解。
Jenkins任务正在进行karma start
,其中autowatch设置为true。相反,我在rc.local中启动了带有autowatch false的业力(脚本在启动时运行),而Jenkins任务则执行karma run
。这完全解决了这个问题。
编辑:安装xvnc plugin,然后将其激活以进行构建,以便进行业力开始和业力运行。
修改:当我升级到14.04时问题又回来了。修复是为了确保构建中注入的环境变量指向X11版本。
FIREFOX_BIN=/usr/bin/X11/firefox
CHROME_BIN=/usr/bin/X11/google-chrome
答案 1 :(得分:1)
您是否介意使用--log-level
调试以及--no-colors
运行业力,以便我们更好地了解失败的原因?
我还尝试过其他浏览器吗? 我经常在Jenkins中运行GUI工具时遇到问题。
您可能想尝试使用PhantomJS(http://phantomjs.org/)运行测试套件,看看无头浏览器是否可以解决问题