앱 환경 구성
개요
앱 환경은 개발 워크플로우를 구성하고 코드를 효과적으로 재사용할 수 있는 방법입니다. 앱 환경을 사용하여 여러 버전의 글로벌 구성 값을 정의한 다음 앱의 현재 환경을 변경하여 여러 버전 간에 전환할 수 있습니다.
앱 서비스는 각각 개발 워크플로의 단계를 나타내는 내장 환경 이름 집합을 지원합니다.
""
"development"
"testing"
"qa"
"production"
환경 값
각 환경에 대해 해당 환경이 활성화되어 있을 때 애플리케이션에서 사용할 수 있는 환경 값 집합을 정의할 수 있습니다.
예를 들어, 새 기능을 개발하고 있는지, 아니면 프로덕션에 배포하는지에 따라 API의 baseUrl
구성에 다른 값을 사용할 수 있습니다.
환경의 값은 단일 JSON 객체로 저장됩니다. 필드 이름과 해당 값을 원하는 대로 설정할 수 있습니다.
필드 이름으로 현재 환경의 값에 액세스할 수 있습니다.
함수에서 context.environment를 사용합니다.
규칙 표현식에
%%environment
를 사용합니다.앱의 구성 파일에서 템플릿 구성 을 사용합니다.
환경 사용 방법
환경 태그는 각각 개발 프로세스의 특정 단계를 나타냅니다. 각 환경에 대해 별도의 앱을 정의할 수 있으며, 각 앱은 동일한 구성 파일 세트를 사용하지만 고유한 환경 태그를 갖습니다. 방법을 알아보려면 앱 복사하기를 참조하세요.
예를 들어, 일반적인 개발 프로세스에는 development
, testing
및 production
의 세 가지 개발 단계가 있을 수 있습니다. 각 단계마다 별도의 앱을 사용하고 각 앱마다 다른 환경 값을 사용할 수 있습니다.
고유한 애플리케이션을 사용하여 개별 기능 브랜치를 테스트할 수도 있습니다. 예를 들어 개발자가 기능 브랜치에 대해 포크하는 핵심 development
앱이 있을 수 있습니다. 기능 브랜치가 테스트로 이동하면 핵심 testing
앱을 대신 사용할 수 있습니다.
환경을 CI/CD 워크플로에 통합하는 방법을 학습 보려면 CI/CD 파이프라인 설정 을 참조하세요. 실제 애플리케이션 의 테스트, 배포서버 및 기타 작업을 관리하는 전체 예시 는 Github 작업을 사용하여 App Services 앱용 CI/CD 파이프라인을 빌드하는 방법을 참조하세요.
시작하기 전에
Atlas UI에서 앱 환경을 정의하려면 다음이 필요합니다.
프로젝트 소유자 권한이 있는 MongoDB Atlas 계정입니다. 무료 계정을 등록하는 방법은 Atlas 시작하기를 참조하세요.
CLI 에서 앱 환경을 정의하려면 다음이 필요합니다.
프로젝트 소유자 권한이 있는 MongoDB Atlas 계정입니다. 무료 계정을 등록하는 방법은 Atlas 시작하기를 참조하세요.
MongoDB Atlas Admin API 공용/개인 키 쌍. API 키에는 App Services Admin API를 사용하려면 프로젝트 소유자 권한이 있어야 합니다.
로컬 시스템
PATH
에 설치되어 추가된 App Services CLI의 복사본입니다. 자세한 방법을 알아보려면 App Services CLI 설치를 참조하십시오.앱의 클라이언트 앱 ID 입니다. 앱 이름을 포함하는 고유한 string 입니다.
"myapp-abcde"
. 앱 ID 를 찾는 방법을 학습 보려면 앱 메타데이터 가져오기를 참조하세요.
관리자 API 를 사용하여 앱 환경을 정의하려면 다음이 필요합니다.
프로젝트 소유자 권한이 있는 MongoDB Atlas 계정입니다. 무료 계정을 등록하는 방법은 Atlas 시작하기를 참조하세요.
MongoDB Atlas Admin API 공용/개인 키 쌍. API 키에는 App Services Admin API를 사용하려면 프로젝트 소유자 권한이 있어야 합니다.
앱의 ObjectId 내부 16진수 string 과 앱이 ID 포함된 Atlas 프로젝트의 프로젝트 입니다. 이를 찾는 방법을 학습 보려면 앱 메타데이터 가져오기를 참조하세요.
절차
앱의 최신 버전 가져오기
앱 구성 파일의 로컬 복사본을 가져옵니다. 최신 버전의 앱을 받으려면 다음 명령을 실행합니다.
appservices pull --remote="<Your App ID>"
UI에서 또는 Admin API를 사용하여 애플리케이션 구성 파일의 사본을 내보낼 수도 있습니다. 방법을 알아보려면 앱 내보내기를 참조하세요.
하나 이상의 환경 정의
/environments
디렉토리 에는 지원되는 각 환경 태그를 지정하다 에 대한 .json
파일 이 포함되어 있습니다. 각 파일 은 해당 환경에 대한 모든 환경 값을 정의합니다.
App Services 는 다음 환경 태그를 지원합니다.
""
"development"
"testing"
"qa"
"production"
사용하려는 각 환경에 대한 파일 을 엽니다. 각 파일 에서 값의 이름을 해당 환경의 값에 매핑하는 항목을 values
하위 문서에 추가합니다.
예시
다음 구성은 production
및 development
환경에서 baseUrl
환경 값을 정의합니다.
{ "values": { "baseUrl": "https://example.com" } }
{ "values": { "baseUrl": "https://dev.example.com" } }
MongoDB Atlas 사용자 인증하기
MongoDB Atlas API 키 쌍을 사용하여 관리자 사용자 인증 엔드포인트를 호출합니다.
curl -X POST \ https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{ "username": "<Public API Key>", "apiKey": "<Private API Key>" }'
인증 이 성공하면 응답 본문에 access_token
값을 가진 JSON 객체 가 포함됩니다.
{ "access_token": "<access_token>", "refresh_token": "<refresh_token>", "user_id": "<user_id>", "device_id": "<device_id>" }
access_token
은(는) App Services Admin API 에 대한 액세스 을 부여합니다. 모든 관리자 API 요청에 대해 Authorization
헤더에 베어러 토큰으로 포함해야 합니다.
환경 값 정의
환경 값 생성 엔드포인트를 호출하여 앱의 환경 값을 정의할 수 있습니다. 각 환경 값에는 이름과 환경 태그를 환경의 값에 매핑하는 values
객체 가 있습니다.
curl -X GET \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/environment_values/{environmentValueId} \ -H 'Authorization: Bearer <access_token>' \ -d '{ "name": "myEnvironmentValue", "values": { "none": "alpha", "development": "beta", "testing": "gamma", "qa": "delta", "production": "epsilon" } }'
앱 환경 설정
앱 환경 설정 엔드포인트를 호출하여 앱의 환경 태그를 지정하다 를 설정하다 수 있습니다.
curl -X PUT \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/environment \ -H 'Authorization: Bearer <access_token>' \ -d '{ "environment": "production" }'