2017-08-02 64 views
0

我有一个测试套件,它运行在Travis-CI上并需要MariaDB(但它在MySQL上打破)。预测试脚本调用mysql命令,但是针对MariaDB运行命令,因为两者的命令都相同。MariaDB与Travis-CI上的MySQL发生冲突

echo "CREATE DATABASE test1" | mysql -u travis 

工人v2.5.0的测试通过的很好(https://travis-ci.org/stems/join-monster/jobs/256751422)。但是,测试开始在worker v2.9.3的更高版本上运行,并且未对代码进行任何更改而失败(https://travis-ci.org/stems/join-monster/jobs/260001701)。根据系统构建信息,这个新版本似乎是除了MariaDB之外还安装了MySQL。现在,当我运行我的mysql命令时,它将针对MySQL而不是MariaDB运行并破坏构建。

我需要两种:

  1. 回到以前版本的工人(无法找到如何做到这一点的特拉维斯文档的任何信息
  2. 指定我想运行命令并连接到MariaDB的,而不是MySQL的。
  3. 告诉特拉维斯不安装MySQL,以避免发生冲突

所有这些解决方案将不胜感激的。

+0

你试过卸载MySQL的安装MariaDB的过吗? –

+0

在这一点上找不到一种方法来钩入构建过程。 '.travis.yml'中的'addons'字段,我指定我想要MariaDB,在'before_script'字段之前应用,用户可以在其中编写任意shell脚本。 –

回答

0

通过将Ubuntu版本切换回12而不是14来修复它,这已成为新的默认设置。

.travis.yml

dist: precise