我是使用Travis CI的新手,我正在尝试使用MySQL数据库和docker容器。我能够启动docker服务并运行我的容器,或者我能够连接到mysql。但我无法做到这两点。
MySQL - 工作
language: bash
sudo: required
before_script:
- "mysql -e 'create database atg_core;'"
- "mysql -e 'create database atg_ca;'"
script:
- "mysql -e 'show databases;'"
Docker - Works
sudo: required
language: bash
services:
- docker
install:
- docker pull asnagaraj/oracle-atg-11.1:v4
script:
- docker run -v $TRAVIS_BUILD_DIR:/workspace/test-atg-module asnagaraj/oracle-atg-11.1:v4 /bin/bash -c ". ~/.bash_profile; cd /workspace/test-atg-module; gradle --stacktrace gATGM; "
合并 - 不起作用
sudo: required
language: bash
services:
- docker
install:
- docker pull asnagaraj/oracle-atg-11.1:v4
before_script:
- "mysql -e 'create database atg_core;'"
- "mysql -e 'create database atg_ca;'"
script:
- docker run --net="host" -v $TRAVIS_BUILD_DIR:/workspace/test-atg-module asnagaraj/oracle-atg-11.1:v4 /bin/bash -c ". ~/.bash_profile; cd /workspace/test-atg-module; gradle --stacktrace gATGM; telnet localhost 3306; telnet 127.0.0.1 3306"
我甚至不希望telnet工作,即使 mysql -e create 命令也失败了。
请帮忙。
-Naga
答案 0 :(得分:0)
在你travis.yml文件的服务部分,你必须让travis知道你正在使用mysql:
services:
- mysql
取自https://docs.travis-ci.com/user/database-setup/#MySQL
因此,服务部分将成为:
services:
-docker
-mysql