2015-11-30 5 views
0

Я пытаюсь запустить moodle phpunit на моем сервере gitlab ci. Используя gitlab-ci.yml-файл, я создаю контейнер с php 5.6 и службой mysql.как я могу создать базу данных на mysql docker service

# Services 
services: 
    - mysql:latest 

before_script: 
    - mysql -e 'CREATE DATABASE gitlab_ci_test DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;' ; 

Я получаю ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) и не знаю, как продолжить.

+0

HTTP: // StackOverflow. com/a/15039113 – Drew

+0

Возможный дубликат [ERROR 2002 (HY000): невозможно подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock' (2)] (http://stackoverflow.com/questions/11657829/error-2002-hy000-cant-connect-to-local-mysql-server-through-socket-var-run) – Drew

+1

Была ли ошибка, вызванная командой i n before_script или сама работа? Поскольку служба 'mysql' находится в другом контейнере, может возникнуть необходимость использовать' mysql -host = mysql -e 'CREATE ... '. – yjwong

ответ

0

Tomasz это мой файл gitlab-ci.yml вам нужно что-то вроде этого:

# Select image from https://hub.docker.com/r/_/php/ 
image: php:7.0.0 

services: 
    - mysql:5.7 

variables: 
    # Configure mysql environment variables (https://hub.docker.com/r/_/mysql/) 
    MYSQL_DATABASE: symfony 
    MYSQL_ROOT_PASSWORD: qwerty 

# Composer stores all downloaded packages in the vendor/ directory. 
# Do not use the following if the vendor/ directory is commited to 
# your git repository. 
cache: 
    paths: 
    - vendor/ 

before_script: 
# Install dependencies 
- bash ci/docker_install.sh > /dev/null 
- cp ci/parameters.yml app/config/parameters.yml 
- composer install 

test:app: 
    script: 
    - phpunit 

И это мой docker_install.sh внутри папки CI

#!/bin/bash 

# We need to install dependencies only for Docker 
[[ ! -e /.dockerenv ]] && [[ ! -e /.dockerinit ]] && exit 0 

set -xe 

# Install git (the php image doesn't have it) which is required by composer 
apt-get update -yqq 
apt-get install git -yqq 
apt-get install wget -yqq 
apt-get install zip unzip -yqq 

# Install composer 
curl -sS https://getcomposer.org/installer | php 
mv composer.phar /usr/local/bin/composer 

# Install phpunit, the tool that we will use for testing 
curl -o /usr/local/bin/phpunit https://phar.phpunit.de/phpunit.phar 
chmod +x /usr/local/bin/phpunit 

# Install mysql driver 
# Here you can install any other extension that you need 
docker-php-ext-install pdo pdo_mysql mbstring 
Смежные вопросы