gpt4 book ai didi

mysql - Symfony 3 GitLab CI SQLSTATE[HY000] [2002] 没有这样的文件或目录 MySQL 连接

转载 作者:行者123 更新时间:2023-11-29 17:59:59 25 4
gpt4 key购买 nike

请随意提供有关 CI 的建议,因为我是 CI 的新手。

我有 symfony (4) 应用程序,它在生产服务器中运行良好。之后我想为这个项目编写CI文件。但我从 MySQL (5.7) 收到错误。

我检查了链接到主容器的 MySQL,我也很确定我在做什么。

我使用了远程 MySQL 服务器,但我再次遇到同样的错误。

我在这一行遇到错误

...php bin/console 学说:schema:create...

这是 .gitlab-ci.yml 文件

image: php:7.1-cli

services:
- mysql:latest

variables:
APP_ENV: prod
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: user_master
MYSQL_PASSWORD: secret
MYSQL_DATABASE: db_master
DATABASE_URL: mysql://user_master:secret@mysql:3306/db_master

cache:
paths:
- vendor/

stages:
- build
- test
- deploy

before_script:
- apt-get update -yqq
- apt-get install -yqq libicu-dev libxml2-dev libxslt-dev libmcrypt-dev zlib1g-dev
- docker-php-ext-configure intl
- docker-php-ext-install -j$(nproc) intl dom xmlrpc xsl pdo pdo_mysql mysqli mcrypt zip
- docker-php-ext-enable opcache

after_script:
- php bin/console doctrine:schema:drop --force

build:app:
stage: build
script:
- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
- /usr/local/bin/composer install --no-dev --no-progress --no-suggest --optimize-autoloader --quiet
- rm -rf /usr/local/bin/composer
- php bin/console doctrine:schema:create --env=prod --ansi

test:app:
stage: test
script:
- echo "Yes this is test - YAYY"

deploy:app:
stage: deploy
script:
- echo "Yes, this is deploy - YAYY"

我在 GitLab 文档、GitHub 和 Stackoverflow 中进行了搜索。我找到了解决方案,但已经相同了。

我试过了;

  • sleep 60 秒
  • 远程 MySQL 服务器
  • pdo、pdo_mysql 我已经足够了解了,但我下载了 mysqli
  • 为原则添加 --env=prod:schema:create
  • 添加单独的作业。比如build:mysql和build:app(其实我不知道如何获取容器ip地址)
  • 我还检查了一些 Laravel 问题,但没有成功。

我应该将 MySQL 服务器安装到容器内吗?这对 CI 来说是个好主意吗?或者,我是否必须为此容器安装依赖项,例如 libmysql-dev?

实际上,如果您有一个很好的示例(symfony、mysql 和 gitlab CI)可供我查看,请告诉我。

回答

我解决了,但实际上我不确定我是怎么做的。我只是添加

DATBASE_URL: mysql://<user>:<password>@<hostname>:<port>/<db_name>

你能指导我一下吗?

最佳答案

您的应用程序可能会搜索此 ENV 变量并使用它(如果存在):https://symfony.com/doc/current/doctrine/dbal.html

“首先,配置 DATABASE_URL 环境变量”

关于mysql - Symfony 3 GitLab CI SQLSTATE[HY000] [2002] 没有这样的文件或目录 MySQL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48454968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com