2014-12-04 3 views
2

방금 ​​Express 응용 프로그램에 Redis Store를 포함 시켰습니다.Travis CI에서 Redis 실행

내 코드가 계속 작동하려면이 Redis Store를 Travis CI에 포함하고 싶었습니다. Travis Documentation에서 Redis를 공장 초기 설정으로 시작할 수 있음을 읽었습니다.

내 프로젝트에서는 공장 설정을 사용하지 않고 포트와 비밀번호를 지정하는 redis.conf 파일을 작성했습니다.

그래서 나는 나의 .travis.yml 파일에 다음 라인을 추가 :

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

그러나 이것은 트래비스 CI에 다음 반환이 문제를 해결할 수있는 방법이

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

있습니까? 당신은 트래비스 CI에 레디 스에 대한 옵션을 사용자 정의하려면

답변

2

, 나는 서비스 섹션을 사용하지 않는 것이 좋습니다 아니라이 할 거라고 : 자신의 초기화를 사용

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

서비스 섹션 실행 서비스/새로 추가 된 스크립트는 사용자가 거기에 추가 한 옵션을 지원하지 않을 수 있습니다. 이 명령은 보안 상 이유로 도피되므로 설명서에서는 해당 섹션에 정상적인 서비스 이름을 나열 할 수 있음을 알 수 있습니다.

+7

새 컨테이너 기반 인프라에서 동일한 작업을 수행 할 수있는 방법이 있습니까? –

+0

이 프로세스를 직접 백그라운드에서 수행해야합니까? 내 트래비스 테스트가 '연결을 허용 할 준비가 되셨습니까?'라고 대답하는 것처럼 보입니다. 무슨 일이 벌어지고 있는지 잘 모르겠다. – dwanderson

+0

(너무 늦어서 코멘트를 편집 할 수 없음) - backgrounding이 트릭을했다. 일명'sudo redis-server [...] &' – dwanderson

관련 문제