[英]In gitlab ci pipeline, how can I connect to redis service using python?
我的 gitlab-ci.yml 看起来像这样:
stage: functional_test
only:
- develop
- master
- merge_requests
services:
- redis:latest
- docker:18.06.2-dind
variables:
PHOTON_ENV: development
DOCKER_HOST: tcp://localhost:2375
REDIS_HOST: redis
REDIS_URL: redis://redis:6379/0
我的 python 连接 redis 的代码如下所示:
self._redis = redis.Redis(host=_host,
port=_port,
db=_db,
decode_responses=True)
_host = 'redis'
_port = 6379
_db = 0
但是,每次我尝试此代码时,都会出现此错误:
File "/usr/local/lib/python3.6/site-packages/redis/client.py", line 772, in execute_command
403 connection = pool.get_connection(command_name, **options)
404 File "/usr/local/lib/python3.6/site-packages/redis/connection.py", line 994, in get_connection
405 connection.connect()
406 File "/usr/local/lib/python3.6/site-packages/redis/connection.py", line 497, in connect
407 raise ConnectionError(self._error_message(e))
408 redis.exceptions.ConnectionError: Error -2 connecting to redis:6379. Name or service not known.
如果您使用的是 shell 执行程序,则根据评论和文档,您必须在 gitlab 运行服务器上手动安装 redis。
如果其他人有同样的问题,我会在这里提出解决方案。
gitlab-ci.yml中的redis服务工作原理如下:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.