是否可以在Travis CI上运行CUBRID?

时间:2013-12-20 03:15:45

标签: travis-ci cubrid

我尝试了以下配置并尝试运行连接demodb数据库端口3000033000的单元测试,但没有成功。

language: php

php:
  - 5.4
  - 5.5

install:
  - echo 'yes' | sudo add-apt-repository ppa:cubrid/cubrid
  - sudo apt-get update
  - sudo apt-get install cubrid
  - /etc/profile.d/cubrid.sh
  - sudo apt-get install cubrid-demodb
  - sudo apt-get install php5-cubrid
  - echo '/opt/cubrid/' | pecl install pdo_cubrid
  - /etc/profile.d/cubrid.sh

script: phpunit --group travis

连接字符串如下所示:cubrid:host=localhost;port=30000;dbname=demodb。有关如何配置CUBRID数据库以在Travis CI上运行的任何想法?有人管理过吗?

2 个答案:

答案 0 :(得分:1)

是的,请参考node-cubrid Node.js模块获取CUBRID。

虽然有多种方法可以在Ubuntu上安装CUBRID(由Travis工作人员使用),但我更喜欢使用cubrid-cookbook通过Chef provisioner安装它。如果你检查node-cubrid模块的.travis.yml,你会注意到几件事:

  1. 它在各种CUBRID环境(CUBRID 8.4.1,8.4.3,8.4.4,9.1.0)和Node.js(0.6,0.8,0.10)中运行Travis测试。
  2. CUBRID Server一旦安装,就只能侦听IPv4地址,因此脚本会将hostname设置为localhost。 Travis worker默认为IPv6地址。
  3. 为Chef安装deps(Ruby及相关内容)。
  4. 安装Chef Ruby gem。
  5. 为Chef准备CUBRID运行列表。
  6. 启动Chef provisioner。
  7. 因此,您可以安装各种版本的CUBRID并在Travis CI中运行测试。

答案 1 :(得分:0)

似乎我无法连接到Travis VM中的CUBRID。我必须将hostname指向127.0.0.1,就像@Eye在此github thread上所做的那样。

Travis install现在看起来像这样:

install:
  - echo 'yes' | sudo add-apt-repository ppa:cubrid/cubrid
  - sudo apt-get update
  - sudo apt-get install cubrid
  - /etc/profile.d/cubrid.sh
  - sudo apt-get install cubrid-demodb
  - sudo apt-get install php5-cubrid
  - cat /etc/profile.d/cubrid.sh
  - echo '/opt/cubrid/' | pecl install pdo_cubrid
  - /etc/profile.d/cubrid.sh
  - hostname | sed 's/^/127.0.0.1 /g' | cat - /etc/hosts > /tmp/etchoststemp && sudo mv /tmp/etchoststemp /etc/hosts --force

无论如何,赏金都归于@Eye!