확장으로 템플릿 구성 만들기
Atlas App Services는 구성 파일 에서 와(과)%()
같은 JSON 확장을 동적으로 확인하는 대체 %%environment
연산자( )를 지원합니다. 확장이 포함된 구성 파일을 사용하여 새 앱을 만들면( App Services CLI 또는 Github 를 통해), App Services는 자동으로 확장을 해결하고 확인된 구성 파일을 사용하여 앱을 만듭니다.
대체 연산자를 사용하는 구성 파일은 템플릿 입니다. 템플릿에서 앱을 생성하면 앱은 앱 생성 시 확인된 값을 반영하는 구성 파일 사본을 사용합니다. 동일한 템플릿을 사용하여 구성이 다른 앱을 여러 개 만들 수 있습니다.
중요
대체 연산자는 현재 문자열 값이 있는 구성 필드에 대해서만 지원됩니다. 부울, 숫자, 객체 또는 배열 값에는 확장을 사용할 수 없습니다.
예를 들어, 확장을 사용하여 clusterName
필드를 템플릿화할 수 있습니다.
{ "name": "mongodb-atlas", "type": "mongodb-atlas", "config": { "clusterName": "%(%%environment.values.clusterName)", "readPreference": "primaryPreferred", "wireProtocolEnabled": false } }
그러나 wireProtocolEnabled
필드에는 부울 값이 있으므로 확장을 사용하여 필드를 템플릿화할 수는 없습니다.
{ "name": "mongodb-atlas", "type": "mongodb-atlas", "config": { "clusterName": "Cluster0", "readPreference": "primaryPreferred", "wireProtocolEnabled": %(%%environment.values.wireProtocolEnabled) } }
템플릿 정의
확장 대체 정의
%()
대체 연산자와 %%environment
확장을 사용하여 구성 파일에서 모든 환경 값을 참고할 수 있습니다. 템플릿으로 만들 각 구성 파일에 대해 확장을 정의합니다.
예시
mongodb-atlas
데이터 소스에 대한 다음 템플릿 구성 파일은 확장을 사용하여 환경에 따라 clusterName
를 동적으로 확인합니다.
{ "name": "mongodb-atlas", "type": "mongodb-atlas", "config": { "clusterName": "%(%%environment.values.clusterName)", "readPreference": "primaryPreferred", "wireProtocolEnabled": true } }
새 템플릿 앱 만들기
이제 템플릿화된 구성 파일을 사용하여 선택한 환경에서 새 앱을 만들 수 있습니다.
예시
App Services는 가져올 때 템플릿 구성을 사용하여 확인된 새 구성 파일을 생성합니다.
appservices push
{ "name": "mongodb-atlas", "type": "mongodb-atlas", "config": { "clusterName": "atlas-development", "readPreference": "primaryPreferred", "wireProtocolEnabled": true } }
개발 워크플로
모든 앱에 구성 확장을 사용할 수 있지만, 가장 유용한 경우는 GitHub와 같은 외부 버전 제어 시스템에 저장된 소스 코드 파일을 사용하여 프로덕션 애플리케이션을 개발하는 팀에 사용할 수 있습니다. 독립적인 앱을 만들어 기능을 개발하거나 변경 사항을 테스트하고, 확장을 사용하여 환경에 따라 앱을 사용자 지정할 수 있습니다.
환경이
development
로 설정된 일반 템플릿 의 복사본을 만듭니다 . Git을 사용하는 경우 GitHub에서 새 브랜치를 만들고 로컬 사본을 확인하세요.변경 사항을 적용하고 개발 앱에 대해 로컬에서 테스트합니다. 앱을 변경해도 프로덕션 앱에는 영향을 미치지 않지만, 대안을 구성하지 않는 한 프로덕션 데이터 소스 및 서비스를 계속 읽고 쓸 수 있습니다.
변경 사항을 커밋하고 프로덕션에 다시 병합합니다. 자체적으로
test
환경에서 앱을 생성할 수 있는 CI/CD 파이프라인을 설정하여 유효성을 검사하고 변경 사항을 프로덕션 브랜치에 병합할 수 있습니다.변경 사항이 병합되면 개발 앱을 안전하게 삭제하고 다른 관련 서비스를 정리할 수 있습니다.