Как протестировать Laravel 5.6 с помощью MySQL 8 Docker - PullRequest
0 голосов
/ 28 июня 2018

Из-за новых алгоритмов хеширования в mysql 8 Я не могу успешно запустить тесты CI в gitlab для этой версии mysql.

Я считаю, что это относится и к другим двигателям CI.

Давайте предположим, что мой .gitlab-ci.yml так же прост:

build:
  stage: build
  image: chilio/laravel-dusk-ci:stable
  services:
    - mysql:8.0

  script:
    - cp .env.example .env
    - composer install
    - php artisan migrate

И это ошибка, которую я получаю:

SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

Я нашел разные посты, посвященные перенастройке экземпляра mysql, но это изображение - официальный докер mysql, и я считаю, что оно должно работать одинаково в разных версиях ...

Изображения из mysql: 5.5 до 5.7 не создавали никаких проблем, но с mysql: 8.0 я получаю ошибку, как было сказано ранее ...

Пока что я не нашел никакого решения, чтобы обойти это.

Есть идеи?

1 Ответ

0 голосов
/ 24 июля 2018

Наконец-то мне удалось это сработать.

в этом случае служба mysql должна вызываться по-другому:

services:
     - name: mysql:latest
       command: ["--default-authentication-plugin=mysql_native_password"]
...