【发布时间】:2017-08-03 01:25:37
【问题描述】:
我有一个在 Travis-CI 上运行并需要 MariaDB 的测试套件(但它在 MySQL 上会中断)。预测试脚本调用 mysql 命令,但针对 MariaDB 运行命令,因为两者的命令相同。
echo "CREATE DATABASE test1" | mysql -u travis
worker 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 并破坏了构建。
我需要:
- 返回到以前版本的工作器(在 Travis 文档中找不到有关如何执行此操作的任何信息。
- 指定我要运行命令并连接到 MariaDB,而不是 MySQL。
- 告诉 Travis 不要安装 MySQL 以避免冲突
任何这些解决方案都将不胜感激。
【问题讨论】:
-
在安装 MariaDB 之前有没有试过卸载 mysql?
-
当时无法找到挂钩到构建过程的方法。
.travis.yml中的addons字段,我指定我想要 MariaDB,在before_script字段之前应用,用户可以在其中编写任意 shell 脚本。
标签: continuous-integration mariadb travis-ci