2014-07-07 3 views
1

Rails 4.1.1을 사용하여 프로젝트를 만들었습니다. 그것을 얻었고 runnning, 그리고 지금은 내 연구 dev에 팀과 공유하고 싶습니다. 물론, .gitignore 소스 제어에서 secrets.yml 파일을 숨 깁니다 만, 해당 버전은 다음과 같은 오류지고하는 secrets.yml 파일의 자신의 버전없이 실행되지 않습니다복제 할 때 secrets.yml, 새로운 secrets.yml 파일을 만드는 법

Unexpected error while processing request: Missing secret_key_base for 'development' environment, set this value in `config/secrets.yml

  • 우리가 공유해야합니까를 비밀 토큰? (따라서 복사하여 로컬 컴퓨터에 붙여 넣기 만하면됩니다.)
  • 별도의 임의 키 여야합니까? (A REPO를 복제 할 때 프로세스가 무엇입니까?) 당신이 소스 제어에서 개인 키를 저장하지 않도록해야하기 때문에

답변

3

, 난 당신이 대신 저장소가를 포함에 설정/secrets.sample.yml를 추가하는 것이 좋습니다 것입니다 비밀에 대한 템플릿 좋아 :

다음
development: 
    secret_key_base: 
    some_random_key: 

test: 
    secret_key_base: 
    some_random_key: 

production: 
    secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> 
    secret_key_base: <%= ENV["SOME_RANDOM_KEY"] %> 

그냥

흥미로운 블로그가 (등 음성, 종이 조각,) 그들에게 안전한 방법으로 채울 값을 제공해야합니다 게시하다 앱의 ENV 변수를 배포하는 방법에 대해 here을 읽을 수 있습니다.

+0

다른 작동 부품을 설치하지 않고이를 수행 할 수있는 방법이 있습니까? 나는 비밀을 사용하는 방법에 대한 하나의 명확한 지침을 찾는 것이 얼마나 힘든지 믿을 수 없다. – ahnbizcad

+0

잘 처리하는 자격 증명은 민감하므로 전체 팀에서 사용할 수있는 소스 제어에 키를 추가하지 않아야합니다. 블로그 게시물이 많아 완벽한 솔루션을 제공하지 못합니다. [this one] (http://www.elabs.se/blog/57-handle-secret-credentials-in-ruby-on-rails)을 살펴보십시오. –

1

당신은 secrets.yml 키를 공유 할 필요가 없습니다 당신은 실제로 다음 레이크 명령을 사용하여 새로운 비밀 키를 생성 할 수 있습니다

rake secret

해야 출력 128 자리 의사의 16 진수 값 유사한 그 여기에 :

b00dbff430b2c5596d10b3434ecd8a25515db481dccf818869a21d0c276ad159f00680aac38957ad57a73c9254754b32c42ef4fe2f76ee48d6e4ad8d4dc6a203

는 secrets.yml 파일의 각 secret_key_base에 대한 명령을 각 연구 dev에 팀 구성원 실행 되세요. 이것은 생산 환경 인 경우


, 당신은 환경 변수에 rake secret에서 얻을 값을 사용하는 것이 효과적 일 수 있습니다.