Posted at

TravisCIがTrustyから Xenialになって失敗するので修正

NetCommons3 プロジェクトでTravisCIのビルドがこけまくってたんで、なんとか動くようにしたいなぁと思って色々調査した結果のメモです。

基本的には、ベースがUbuntu Trustyから Xenialにかわったことの影響が大半でした。(最後のcomposerの問題だけ別)


MySQLが起動してない

mysqlコマンドを実行しようとすると

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

となります。

実際のログ → https://travis-ci.org/NetCommons3/Rooms/jobs/562888110#L252

The Xenial Build Environment - Travis CI をみるとサービスがデフォルト停止のようなのでMySQL使うならservicesを.travis.ymlに書いて起動させれば解決。

.travis.ymlに下記を追加


travis.yml

services:

- mysql


MySQL 5.7になってSQL_MODE設定が必要に

Travis CIでMySQL 5.7 | 気ままにSE

NetCommons3ではTravisCI用の設定ファイルがあったので、そちらで対応

SQL_MODE='' · NetCommons3/NetCommons3@07d8d89


PHP5.4がダメぽ

Trustyをつかえばいけるっぽい

The Trusty Build Environment - Travis CI

Xenial(ubuntu16)だと PHP5.4, PHP5.5がダメぽなようです。


travis.yml

dist: trusty



composer.jsonでrepository指定がダメぽ

travis-ci repositoriesのgit clone失敗 · Issue #1517 · NetCommons3/NetCommons3