一尘不染

在Travis CI上运行Redis

redis

我只是在我的Express应用程序中添加了Redis Store,并使它正常工作。

我想将这个Redis商店包含在Travis CI中,以使我的代码继续在那里工作。我在Travis文档中读到,可以使用出厂设置启动Redis。

在我的项目中,我不使用出厂设置,而是编写了自己的redis.conf文件来指定端口和密码。

因此,我在.travis.yml文件中添加了以下行:

services:
  - redis-server --port 6380 --requirepass 'secret'

但这会在Travis CI上返回以下内容:

$ sudo service redis-server\ --port\ 6380\ --requirepass\ \'secret\' start
  redis-server --port 6380 --requirepass 'secret': unrecognized service

有没有什么办法解决这一问题?


阅读 613

收藏
2020-06-20

共1个答案

一尘不染

如果要自定义Travis CI上Redis的选项,建议不要使用“服务”部分,而是这样做:

before_script: sudo redis-server /etc/redis/redis.conf --port 6380 --requirepass 'secret'

服务部分使用其初始化/启动脚本运行服务,这些脚本可能不支持您在其中添加的选项。由于安全原因,该命令也被转义,因此文档仅暗示您可以在该部分中列出常规服务名称。

2020-06-20