2012-09-12 5 views
2

Azure Cloud Service Worker 역할로 배포 할 Node.js 앱을 구축 중입니다.Azure 클라우드 서비스 및 영구 구성 설정

좋은 사례로서, 나는 모든 리포지토리에서 중요한 정보 (API 키 등)를 유지하는 것이 좋습니다. 내 평소 솔루션이 환경 변수로 민감한 정보를 추가하고 내 애플 리케이션에 액세스 할 수 있습니다.

비교적 새로운 Azure 웹 사이트에서는 "구성"탭의 "응용 프로그램 설정"섹션을 통해 쉽게 수행 할 수 있습니다. 새 설정을 추가하고 Node.js에서 process.env.<setting key>으로 가져옵니다. 이러한 설정은 업데이트와 배포 전체에서 유지됩니다.

그러나 Azure Cloud Services에서는 이것이 사실 인 것처럼 보입니다. 내 ServiceConfiguration.Cloud.cscfg에 "구성 설정"을 추가했습니다 :

<ConfigurationSettings> 
    <Setting name="API_KEY_1" value="" /> 
    <Setting name="API_KEY_2" value="" /> 
</ConfigurationSettings> 

... 내 ServiceDefinition.csdef을 : 나는,이 설정은 웹 포털을 통해 편집되었고, 나는 추가 배치

<ConfigurationSettings> 
    <Setting name="API_KEY_1" /> 
    <Setting name="API_KEY_2" /> 
</ConfigurationSettings> 

자신의 값.

그러나 다시 배포하면 설정을 덮어 씁니다. 적절한 값을 유지하는 유일한 방법은 .cscfg에 값을 추가하는 것입니다. 하지만 그건 내 레포에이 정보를 투입하는 것을 의미합니다.

누락 된 해결책이 있습니까?

답변

3

일반적인 접근 방법 설정을 저장소 계정에 넣은 다음 저장소 계정을 대상으로하는 cscfg 설정을 사용합니다. 시작할 때 저장소 계정에서 값을 읽고 원하는 방식으로 로컬에 보관할 수 있습니다.

그렇다면 cscfg 파일을 계속 사용하려면 해당 파일을 여러 복사본으로 유지하고 올바른 버전으로 배포하면됩니다.

+0

스토리지 계정 액세스 키는 어떻게됩니까? 당신은'cscfg'에, 그래서 저장소에 보관할 것인가? – redhotvengeance

+0

예. 원하는 경우 암호화 할 수 있습니다. 저장소 (개발자가 볼 수있는 경우)에 프로덕션 자격 증명을 저장하는 데 문제가있는 클라이언트가 있음을 알고 있습니다. 이 시나리오에서는 프로덕션 배포를위한 cscfg의 다른 버전을 일반적으로 다른 위치에 저장할 수 있습니다 (권한이 제한된 다른 프로젝트가 제대로 작동 함). – BrentDaCodeMonkey

관련 문제