我正在尝试使用他们的共享运行器连接到MySQL。我写了以下代码:
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://' + db_username + ":" + db_password + "@" + db_host + ":" + db_port + "/" + db_name + "?host="+ db_host + "?port=" + db_port
db_username = XXX
db_password = XXX
db_host = mysql
db_port = 3306
db_name = XXX
还有下面的.gitlab-ci.yml:
image: python:3.6-stretch
services:
- mysql:latest
variables:
FLASK_APP: "program.py"
MYSQL_DATABASE: XXX
MYSQL_ROOT_PASSWORD: "XXX"
install_dependencies:
stage: build
script:
- apt update && apt upgrade -y
- pip install pipenv
- pipenv install
run_unit_tests:
stage: test
script:
- apt update && apt upgrade -y
- pip install pipenv
- pipenv install
- pipenv run pytest -s
当运行器启动时,我在run_unit_tests作业上收到以下错误:
'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
您是否将 python 应用程序配置为使用数据库主机mysql
?
Host: mysql
User: root
如果这没有帮助,请先尝试在 python 映像中安装 mysql-client
:
install_dependencies:
stage: build
script:
- apt update && apt upgrade -y && apt install -y mysql-client
- pip install pipenv
- pipenv install