我只是在我的Express应用程序中添加了Redis Store,并使它正常工作。
我想将这个Redis商店包含在Travis CI中,以使我的代码继续在那里工作。我在Travis文档中读到,可以使用出厂设置启动Redis。
在我的项目中,我不使用出厂设置,而是编写了自己的redis.conf文件来指定端口和密码。
redis.conf
因此,我在.travis.yml文件中添加了以下行:
.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
有没有什么办法解决这一问题?
如果要自定义Travis CI上Redis的选项,建议不要使用“服务”部分,而是这样做:
before_script: sudo redis-server /etc/redis/redis.conf --port 6380 --requirepass 'secret'
服务部分使用其初始化/启动脚本运行服务,这些脚本可能不支持您在其中添加的选项。由于安全原因,该命令也被转义,因此文档仅暗示您可以在该部分中列出常规服务名称。