환경 별 구성을위한 도구


11

도구별로 환경별로 구성 정보를 저장해야합니다.

구성 값 (예 : 연결 문자열)을 추가 / 업데이트하기위한 GUI가있는 도구입니다. 기본값이 있어야하며 다른 환경에 따라이를 변경할 수 있습니다.

애플리케이션에 추가하기 위해 특정 환경에 배치하는 동안 이러한 구성 값을 검색하는 API가 있어야합니다.

잠시 검색했는데이 청구서에 맞는 도구를 볼 수 없습니다. 어떤 제안이 있습니까?

참고 : 현재 설정은 TeamCity 변수에 있으며 배포는 PowerShell 스크립트를 통해 이루어집니다.


유료 물건을 위해? 구성 관리 시스템이 있습니까? 배포에 무엇을 사용하십니까?
Tensibai

유료 옵션이 구성됩니다. 현재 설정은 TeamCity 변수에 있으며 배포는 PowerShell 스크립트를 통해 이루어집니다.
tim

이에 대한 해답은 아니므로 의견도 있습니다 . 매우 유연한 방식으로 환경 구성을 관리 할 수있는 배포Octopus Deploy 를 사용하는 것을 고려했습니다 .
Richard Slater

ClearCase와 같은 희소 한 분기 소스 제어 시스템을 사용하는 경우 파일을 수정하여 간단히 분기 할 수 있으며 VCS에서 OSD (운영 체제 종속) 변경 사항을 처리하기위한 전략을 볼 수 있습니다. git을 사용한다면 기본이 아닌 브랜치를 계속 리베이스해야합니다. 일부 구성 도구에는 변수를 통해 환경 별 설정이 있습니다. Ansible에는 비 프로덕션 환경에 대한 변수 기본값과 오버레이가있는 파일이 있습니다. CI 도구에 설정을 저장하지 마십시오. 모두 VCS에 있어야합니다. TC 설정 포함
Jiri Klouda

모든 구성을 소스와 함께 저장하는 것이 좋습니다. 여러 Azure 서비스가 있으며 모든 환경 사용자 지정에 대해 Azure 변환 구문을 사용합니다. msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx를 참조 하십시오 . 그리고 실제로 설치시 Powershell을 사용하여 배포시이 작업을 수행합니다. 파이프 라인에 연결하는 위치에 따라 상자에 비트를 넣기 전에 또는 암호에 대해 할 수 있습니다. 우리는 비밀을 위해 Azure Key Vault를 사용하므로 소스 제어에는 나타나지 않습니다.
환불 불가 환불 불가

답변:


6

Chef, Ansible 또는 Puppet과 같은 구성 관리 도구를 포함하여 이와 같은 작업을 수행 할 수있는 많은 도구가 있습니다. Consul 등의 KVS 도구 또한 CI 서버의 빌드 단계로 통합하거나 런타임시 외부 구성 저장소 (Consul 또는 etcd와 같은 데이터베이스 또는 데이터베이스 등)에 대해 실시간 구성을 사용하여 문제를 회피 할 수 있습니다.


1

아마도 다른 레포? QA, UAT, Prod (또는 그 이상)를위한 브랜치가있는 것. 일반 "Code as Code"및 "Infrastructure as Code"리포지토리와 다른 리포지토리.

미묘한 차이가 있습니다. 환경 당 구성 량 릴리스간에 전환되어 있습니까? 이러한 토글 상태는 바이너리 배포에도 불구하고 상태를 유지해야합니다. 어떤 클라이언트, 고객, 게스트 또는 사용자 중 구성을 유지 관리합니까?

나는 토글을위한 UI (필요한 경우)를 포함하여 5 년 동안 주제에 관한 많은 블로그 항목 (및 프로토 타입 / 데모)을 썼습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.