환경
모든 플랫폼 프로젝트에는 하나 이상의 환경이 포함되어 있습니다.
환경은 자체 URL, 환경 변수 및 배포 기록이 있는 격리된 배포 대상입니다. 그것은 또한 자신의 것을 가질 수 있습니다hosted database.
환경을 사용하여 실행production, staging, 단일 프로젝트 내에서 동일한 코드베이스의 미리보기 버전을 사용할 수 있습니다.
첫 번째 mastra deploy는 production 환경을 생성합니다. CLI를 사용하거나 아직 존재하지 않는 이름으로 배포하여 환경을 더 만드세요.
환경 만들기환경 만들기에 대한 직접 링크
환경을 명시적으로 생성합니다.
mastra env create staging
또는 배포를 통해 생성하면 확인 메시지가 표시됩니다.
mastra deploy --env staging
mastra env create의 기본 유형은 staging입니다. staging 또는 preview를 명시적으로 설정하려면 --type을 전달하고, 환경의 실행 위치를 선택하려면 --region을 전달하세요.
mastra env create eu-preview --type preview --region eu
각 프로젝트에는 첫 배포에서 생성되는 하나의 production 환경이 있습니다. 지역은 생성 시 고정됩니다. 환경에 연결된 데이터베이스는 자동으로 환경의 지역 근처에 배치되며, Observability 데이터는 일치하는 상주 영역의 수집 지역으로 라우팅됩니다. 지원되는 지역, 데이터베이스 배치 및 Observability 공동 배치는 지역을 확인하세요. 프로젝트당 환경 수는 요금제에 따라 다릅니다.
환경 나열환경 나열에 대한 직접 링크
mastra env list
출력에는 각 환경의 이름, 지역, 활성 배포 상태 및 연결된 데이터베이스에서 주입한 관리형 환경 변수가 표시됩니다. CI에서 머신이 읽을 수 있는 출력을 얻으려면 --json을 전달하세요.
모든 mastra env 명령은 MASTRA_PROJECT_ID, --project 플래그, 첫 배포에서 작성된 .mastra-project.json 파일 순으로 프로젝트를 결정합니다. 프로젝트 디렉터리에서 실행하면 프로젝트 이름을 지정할 필요가 없습니다.
환경변수환경변수에 대한 직접 링크
환경은 세 가지 범위에서 해당 변수를 확인합니다.
- 관리되는 변수: 연결된 호스팅된 데이터베이스에서 주입됩니다(예:
TURSO_DATABASE_URL). 플랫폼에서 정의하므로 편집할 수 없습니다. - 환경 범위 변수: 대시보드를 통해 하나의 환경에 저장됩니다. 스테이징 및 프로덕션 서비스의 API 키처럼 환경마다 다른 값에 사용합니다.
- 프로젝트 범위 변수: 프로젝트에 저장되며 모든 환경에서 공유됩니다. 환경 범위 변수와 프로젝트 범위 변수는 함께 설명된 저장 변수입니다.Deploy page.
배포가 시작되면 변수가 적용됩니다. 전체 재배포 없이 실행 중인 서비스에 변경된 변수를 적용하려면 다음 안내를 따르세요.
mastra env restart staging
환경 배포가 실제로 실행되는 전체 세트를 보려면 환경 범위 및 프로젝트 범위 값이 병합되고 이름별로 나열된 관리 변수와 함께 로컬 env 파일로 가져옵니다.
mastra env vars pull staging --output .env.staging
관리 변수 값은 배포 시 삽입되며 파일에 기록되지 않습니다. 이름만 있는 설명으로 표시됩니다.
:::참고 환경 변수는 관리되는 데이터베이스 변수를 재정의하지 않습니다. 다른 데이터베이스의 환경을 가리키려면environment-scoped database instead. :::
배포 기록배포 기록에 대한 직접 링크
모든 환경에 걸쳐 배포를 나열하거나 다음 중 하나로 필터링합니다.
mastra env deploys
mastra env deploys staging
각 행에는 배포 상태, 환경, 타임스탬프 및 현재 활성화된 배포가 표시됩니다. 배포 상태는 queued → uploading → building → deploying → running 순으로 전환되며, 플랫폼은 새 버전이 트래픽을 처리할 때만 running으로 보고합니다.
환경의 데이터 격리환경의 데이터 격리에 대한 직접 링크
호스팅된 데이터베이스는 기본적으로 단일 환경으로 범위가 지정되므로 프로덕션 및 스테이징은 각각 자체 데이터베이스를 읽고 씁니다.
mastra env db create production --kind turso --name my-project-production-db
mastra env db create staging --kind turso --name my-project-staging-db
모든 환경에서 하나의 데이터베이스를 공유하려면 다음을 사용하여 연결하세요.--shared instead: mastra env db create --kind turso --shared.
환경에서는 Provider당 데이터베이스를 하나만 사용할 수 있습니다. 프로젝트에 같은 Provider의 공유(--shared) 데이터베이스가 이미 있으면 변수 이름 충돌로 인해 환경 범위 데이터베이스 연결이 거부됩니다. 먼저 mastra env db delete로 공유 데이터베이스를 삭제하세요. 데이터베이스를 삭제하면 Provider에서 모든 데이터와 함께 제거되므로 보관할 데이터는 내보내야 합니다. 전체 범위 모델은 호스팅된 데이터베이스를 확인하세요.
환경 삭제환경 삭제에 대한 직접 링크
mastra env delete staging
CLI는 삭제하기 전에 확인을 요청합니다. 환경을 삭제하면 배포 및 저장된 변수가 제거됩니다.