当Jenkins在Ubuntu 14.04

时间:2015-07-12 18:57:57

标签: ubuntu selenium jenkins selenium-chromedriver

我已经尝试了2天,在ubuntu 14.04上安装并运行jenkins。我3天前第一次使用Ubuntu / Linux,所以我还有很多需要学习的东西。

环境

  • VM上的Ubuntu-14.04.2-desktop-amd64(主机操作系统是Windows 7 x64)
  • 硒 - 服务器 - 独立-2.44.0.jar
  • Jenkins .deb package v1.619
  • Apache Maven 3.2.3
  • JDK 1.8.0(Java 8)
  • Jetty 9.14发行

它在Windows 7上运行正常。当我从终端运行每个组件时,它也非常有用'root'(4个独立的终端):

集线器:java -jar selenium-server-standalone-2.44.0.jar -role hub -hubConfig hubConfig.json -Dwebdriver.chrome.driver=chromedriver

节点:java -jar selenium-server-standalone-2.44.0.jar -role node -nodeConfig nodeConfig.json -Dwebdriver.chrome.driver=chromedriver

码头:java -jar start.jar

Node.js(异步)+ Selenium测试套件:mvn install

在Jenkins客户端(localhost:8082 /)中,我有一份名为'Selenium'的工作。在这项工作内部,我正在构建3个maven pom.xml文件。第一个pom.xml文件准备Jetty运行和运行所需的资源,第二个pom.xml文件准备Selenium(下载+ setup nodeConfig和hubConfig + start hub / node),第三个执行'node app.js '命令,编译Selenium的类并执行测试;问题是测试没有执行,并且出现以下错误(chrome / firefox根本没有启动,项目的其余部分构建没有问题):

  • 从Jenkins运行构建时firefox的错误(内置webdriver):

无法在45000 ms内绑定到锁定端口7054构建信息:版本:'2.44.0',修订版:'76d78cf',时间:'2014-10-23 20:02:37'系统信息: host:'jason-VirtualBox',ip:'127.0.1.1',os.name:'Linux',os.arch:'amd64',os.version:'3.16.0-30-generic',java.version: '1.8.0_45'驱动程序信息:driver.version:FirefoxDriver命令持续时间或超时:46.53秒构建信息:版本:'2.43.1',修订版:'5163bceef1bc36d43f3dc0b83c88998168a363a0',时间:'2014-09-10 09:43:55 '系统信息:主机:'jason-VirtualBox',ip:'127.0.1.1',os.name:'Linux',os.arch:'amd64',os.version:'3.16.0-30-generic', java.version:'1.8.0_45'驱动程序信息:org.openqa.selenium.remote.RemoteWebDriver

  • 从Jenkins运行构建时的chrome错误:

未知错误:Chrome无法启动:异常退出(驱动程序信息:chromedriver = 2.15.322448(52179c1b310fec1797c81ea9a20326839860b7d3),platform = Linux 3.16.0-30-generic x86_64)(警告:服务器未提供任何内容stacktrace information)命令持续时间或超时:60.70秒构建信息:版本:'2.44.0',修订版:'76d78cf',时间:'2014-10-23 20:02:37'系统信息:主机:'jason-VirtualBox ',ip:'127.0.1.1',os.name:'Linux',os.arch:'amd64',os.version:'3.16.0-30-generic',java.version:'1.8.0_45'驱动程序info:org.openqa.selenium.chrome.ChromeDriver命令持续时间或超时:61.52秒构建信息:版本:'2.43.1',修订版:'5163bceef1bc36d43f3dc0b83c88998168a363a0',时间:'2014-09-10 09:43:55'系统info:host:'jason-VirtualBox',ip:'127.0.1.1',os.name:'Linux',os.arch:'amd64',os.version:'3.16.0-30-generic',java。版本:'1.8.0_45'驱动程序信息:org.openqa.selenium.remote.RemoteWebDriver

我试图解决这个问题:

  • 我已将'Selenium'工作文件夹的所有权更改为'root'(首先尝试,认为这样可行)和'jason'(第二次尝试; jason是主要用户)。
  • chown -R jenkins:root / related / jenkins / directories /
  • chmod 777 -R / on / everything(这使整个系统崩溃)

相关的pom.xml部分: http://pastebin.com/gKee7vE6

所以...据我所知,通过我在linux领域的短途旅行......这里有一些许可问题,我是对的(Jenkins< - > Browsers?)?以前有人遇到过这个问题吗?有关如何解决的任何建议?我应该尝试使用Ubuntu服务器吗?

1 个答案:

答案 0 :(得分:0)

我已经通过禁用Jenkins解决了这个问题,因此它不再在启动时运行(作为用户' jenkins')。 Jenkins在启动时执行:

java -Djava.awt.headless=true -jar jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8081 --ajp13Port=-1

我使用在启动.war文件时执行的脚本手动启动它:

java -jar jenkins.war --httpPort=8081

我的猜测是操作系统不允许用户使用jenkins'打开一个firefox / chrome会话,用户使用的参数之一&#j; jenkins'启动jenkins进程阻止它使用chrome / firefox。