문서 메뉴
문서 홈
/ /
Atlas App Services
/ /

확장으로 템플릿 구성 만들기

이 페이지의 내용

  • 템플릿 정의
  • 환경 값 정의
  • 확장 대체 정의
  • 환경 지정
  • 새 템플릿 앱 만들기
  • 개발 워크플로

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)
}
}
1

확장을 사용하여 모든 환경을 템플릿화할 수 있습니다. 사용하는 각 환경에 대해 구성 파일에서 참고 값을 정의합니다.

예제

다음 환경은 다양한 MongoDB Atlas cluster 이름을 구성합니다.

environments/development.json
{
"values": {
"clusterName": "atlas-development"
}
}
environments/production.json
{
"values": {
"clusterName": "atlas-production"
}
}
2

%() 대체 연산자와 %%environment 확장을 사용하여 구성 파일에서 모든 환경 값을 참고할 수 있습니다. 템플릿으로 만들 각 구성 파일에 대해 확장을 정의합니다.

예제

mongodb-atlas 데이터 소스에 대한 다음 템플릿 구성 파일은 확장을 사용하여 환경에 따라 clusterName 를 동적으로 확인합니다.

data_sources/mongodb-atlas/config.json
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "%(%%environment.values.clusterName)",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": true
}
}
3

앱을 배포할 환경을 선택한 다음 환경 이름으로 앱 구성을 업데이트합니다.

root_config.json
{
"name": "MyApp",
"environment": "development",
"deployment_model": "LOCAL",
"location": "aws-us-east-1"
}

환경을 지정하지 않으면 %%environment 확장은 environments/no-environment.json 의 값으로 해석됩니다.

4

이제 템플릿화된 구성 파일을 사용하여 선택한 환경에서 새 앱을 만들 수 있습니다.

예제

App Services는 가져올 때 템플릿 구성을 사용하여 확인된 새 구성 파일을 생성합니다.

appservices push
data_sources/mongodb-atlas/config.json
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "atlas-development",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": true
}
}

모든 앱에 구성 확장을 사용할 수 있지만, 가장 유용한 경우는 GitHub와 같은 외부 버전 제어 시스템에 저장된 소스 코드 파일을 사용하여 프로덕션 애플리케이션을 개발하는 팀에 사용할 수 있습니다. 독립적인 앱을 만들어 기능을 개발하거나 변경 사항을 테스트하고, 확장을 사용하여 환경에 따라 앱을 사용자 지정할 수 있습니다.

  1. 환경이 development 로 설정된 일반 템플릿 의 복사본을 만듭니다 . Git을 사용하는 경우 GitHub에서 새 브랜치를 만들고 로컬 사본을 확인하세요.

  2. 변경 사항을 적용하고 개발 앱에 대해 로컬에서 테스트합니다. 앱을 변경해도 프로덕션 앱에는 영향을 미치지 않지만, 대안을 구성하지 않는 한 프로덕션 데이터 소스 및 서비스를 계속 읽고 쓸 수 있습니다.

  3. 변경 사항을 커밋하고 프로덕션에 다시 병합합니다. 자체적으로 test 환경에서 앱을 생성할 수 있는 CI/CD 파이프라인을 설정하여 유효성을 검사하고 변경 사항을 프로덕션 브랜치에 병합할 수 있습니다.

  4. 변경 사항이 병합되면 개발 앱을 안전하게 삭제하고 다른 관련 서비스를 정리할 수 있습니다.

돌아가기

다음

v20210101 [사용 중단됨]