2016-10-25 3 views
1

settings.py라는 파일에 구성이있는 Flask 앱이 있습니다. 프로젝트가 공공 repo에 있기 때문에이 파일을 .gitignore에 넣었습니다. settings.py가 .gitignore에 있었더라도 Travis-CI는 프로젝트에 테스트를 추가하기 전에 작동했습니다.gitignore에서 일부 파일과 함께 Travis CI를 사용하는 방법?

Debugged import: 

- 'settings' not found. 

Original exception: 

ImportError: No module named 'settings' 

내 .travis.yml 파일은 다음과 같습니다 : 프로젝트에 테스트를 추가 한 후, 빌드는 다음과 같은 출력으로 실패 시작

language: python 
python: 
    - "3.4" 
    - "3.5" 

# command to install dependencies 
install: 
    - pip install -r requirements.txt 
# command to run tests 
script: python tests.py 

이이 뜻이 travis- 사용하기 위해 ci, 우리는 repo에 필요한 모든 파일을 포함시켜야합니까? 아니면 해결 방법이 있습니까? GitHub의 저장소는 here입니다.

+1

이것은 응용 프로그램별로 매우 다양합니다. 응용 프로그램을 실행하기위한 설정 모듈이 필요하다면 예, Travis에서 설정 모듈을 사용할 수 있어야합니다. 당신이 취할 수있는 몇 가지 접근법이 있습니다. 나는'settings.py'를 기본 값에 환경 변수와 같은 것을 무효로하는 방법을 제공하고 싶습니다. – dirn

답변

1

기본값을 settings.py으로 사용하고 일부 설정을 encrypted environment variables on Travis으로 재정의하는 것은 좋은 생각입니다. 차이점이 두 개 밖에 없다면 그만한 가치가 있습니다.

그러나 사용자가 신경 쓸 필요가 없거나 설정을 너무 복잡하게 만드는 경우 Ruby Travis command line clientgem을 설치할 수 있습니다. 이는 여러 가지 작업에 유용합니다. 컴퓨터에 클라이언트와

당신은 당신의 전체 settings.py 파일을 암호화 Travis' file encryption feature을 사용할 수 있으며, 다음 에게 GitHub의에 (AN .enc 파일 확장자가됩니다) 암호화 된 버전을 커밋합니다. 그러면 Travis는 .travis.yml 파일에 올바른 명령을 추가하는 경우 (예 : before_install 단계) CI 실행 중에 파일의 암호를 해독 할 수 있습니다. 자세한 지침은 파일 암호화 페이지에 나와 있습니다.

+1

감사합니다! 전체 파일을 암호화하고 암호화에서'--add' 플래그를 사용하여 자동으로 .travis.yml 파일을 업데이트했습니다. – MikaelM

관련 문제