So i’m playing around with the GitLab CI features, and i’m trying to get a MySQL database up and running.
My .gitlab-ci.yml file looks like this:
image: php:5.6
services:
- mysql:latest
variables:
MYSQL_DATABASE: test_database # Created at image startup
MYSQL_ROOT_PASSWORD: super-secret-password
before_script:
- php -v
- curl --silent --show-error https://getcomposer.org/installer | php
job1:
script:
- echo Running job1...
- echo "SELECT 'OK';" | mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mysql "$MYSQL_DATABASE"
It fails with the following message:
Running with gitlab-ci-multi-runner 1.4.2 (bcc1794)
Using Docker executor with image php:5.6 ...
Pulling docker image mysql:latest ...
Starting service mysql:latest ...
Waiting for services to be up and running...
Pulling docker image php:5.6 ...
Running on runner-30dcea4b-project-1566290-concurrent-0 via runner-30dcea4b-machine-1472046208-6ab7c3fe-digital-ocean-4gb...
Cloning repository...
Cloning into '/builds/densou/test'...
Checking out 9a4ccf71 as master...
$ php -v
PHP 5.6.25 (cli) (built: Aug 22 2016 19:34:09)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
$ curl --silent --show-error https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading 1.2.0...
Composer successfully installed to: /builds/densou/test/composer.phar
Use it: php composer.phar
$ echo Running job1...
Running job1...
$ echo "SELECT 'OK';" | mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mysql "$MYSQL_DATABASE"
/bin/bash: line 50: mysql: command not found
ERROR: Build failed: exit code 1
I thought the mysql image was linked when using the services:
option, but it doesn’t work. What am i missing?
I want to have mysql available in my php image i guess? Or should i install it manually. I don’t want to use the mysql image.
Thanks!