Конфигурация Gitlab CI с Laravel Docker Redis неверный хост или порт - PullRequest
1 голос
/ 12 марта 2020

Я работаю над конфигурацией Gitlab CI в файле .gitlab-ci.yml для проекта Laravel, который использует redis в качестве драйвера кэша. В этом файле конфигурации я использую образ, который имеет все пакеты linux, расширение php, которые используются в нашей производственной среде. Это включает в себя расширение redis, установленное pecl, так что phpredis можно использовать в Laravel.

. Потратив немало времени на изучение процесса непрерывной интеграции и конфигурации файла gitlab ci, я обнаружил следующее ошибка при развертывании образа:


In PhpRedisConnector.php line 126:

   Redis::connect() expects parameter 2 to be int, string given  

параметр должен быть только портом в качестве целого, но каким-то образом превращаться в tcp: //111.111.11.11: 6379

Как задокументировано https://docs.gitlab.com/ee/ci/services/redis.html хост в вашем .env должен быть redis, так что я сделал. Вывод конфигурации во время развертывания привел к тому, что порт был некоторой строкой соединения tcp: //111.111.11.11: 6379, а хост пуст. Это невозможно изменить в нашем приложении или любом используемом нами расширении.

Я использую https://hub.docker.com/_/redis/ в качестве службы в .gitlab-ci.yml.

...
services:
  - name: redis:4
...

1 Ответ

0 голосов
/ 12 марта 2020

Решение найдено здесь: https://laracasts.com/discuss/channels/testing/gitlab-ci-weird-redis-host

Эта переменная нигде не задокументирована, но каким-то образом решает проблему. Добавьте следующее в ваш файл .gitlab-ci.yml:

variables:
  REDIS_PORT: 6379

Если кто-нибудь найдет документацию по этой переменной и, возможно, дополнительные параметры, дайте мне знать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...