2014-05-22 3 views
4

다른 배포 환경에서 응용 프로그램을 구성하는 데 환경 변수를 사용하는 것이 가장 좋습니다. 그러나 이러한 환경을 관리하고 변수를 채우는 좋은 방법은 모르겠습니다. 우리는 우리의 응용 프로그램을 실행하는 데 사용하는 혜성처럼 나타난 스크립트를 채우기env 변수 채우기 처리 방법

  • :

    다음은 내가 고려하고 방법을 제공합니다. 우리는 현재 Animal을 사용하여 정적 시작 스크립트를 통해 복사하는 서버를 제공하지만 환경 변수로 템플릿화할 수 있습니다.

  • 같은 접근하지만 /etc/environment

  • 이 파일을 채울 ansible 사용하여 다시 한 번 envdir 같은 것을 사용하고와.

다른 문제는 값을 저장하는 곳이며, 나는 생각하고 있지만 제안은 열려 있습니다. Ansible에는 아직 볼 수없는 "Vault"가있어 옵션이 될 수 있습니다.

값은 API 키 및 데이터베이스 URL과 같습니다.

저는 정말 다른 사람들이 사용하는 방법에 대해 궁금합니다. 나는 모든 제안에 열려 있습니다.

답변

3

이 질문은 의견을 많이 권유하려고 생각하고 충돌하는 의견의 아마 많은,하지만 여기 말했다과 나의 의견의 일부입니다 :

  • /etc/environment이 OS의 일부 및 목적 대화 형 사용자 쉘의 구성 응용 프로그램에 사용하지 마십시오.
  • 가능성있는 템플릿을 사용한 시작 설정은 나에게 꽤 합리적으로 보입니다. 중요한 데이터를 거기에 저장하려는 경우 파일 시스템 사용 권한이 루트 읽기 전용으로 적절히 잠겨 있는지 확인하십시오.
  • /etc/myapp/config과 같은 템플릿 기반 응용 프로그램 관련 구성 파일을 사용할 수도 있습니다.이 파일은 수십 년 동안 많은 프로그램에서 잘 작동했습니다. 전체 환경 변수는 설정 파일보다 더 좋은 위치는 실제로 PaaS 관점에서 더 많이 나오고 있습니다. (저는 12 인자 앱 사이트를 통해이 접근 방법을 대중적으로 믿었습니다.) 따라서 PaaS 또는 PaaS 스타일의 배포 인 경우 환경이 편리합니다. 그러나 자신의 서버에 앱을 설치하는 경우, IMHO는 블로그 게시물에 나와있는 이유로 문제를 해결하는 것이 더 간단합니다. environment variables considered harmful