我刚刚在我的Express应用程序中包含了一个Redis商店并让它运行起来。
我想在Travis CI中包含这个Redis商店,以便我的代码继续在那里工作。我在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
有什么方法可以解决这个问题吗?
答案 0 :(得分:2)
如果您想在Travis CI上自定义Redis选项,我建议不要使用服务部分,而是执行此操作:
before_script: sudo redis-server /etc/redis/redis.conf --port 6380 --requirepass 'secret'
服务部分使用其init / upstart脚本运行服务,这些脚本可能不支持您在其中添加的选项。出于安全原因,该命令也被转义,因此文档仅暗示您可以列出该部分中的正常服务名称。