다음을 통해 공유


Azure 개발자 CLI 환경 개요

Azure 개발자 CLI(azd)를 사용하면 프로젝트에 대한 여러 배포 환경을 관리하여 개발, 테스트 및 프로덕션에 대한 구성을 별도로 유지할 수 있습니다. 이 문서에서는 환경을 사용하여 개발 및 배포 프로세스를 관리하는 방법에 대한 필수 개념을 설명합니다.

환경이란?

Azure 개발자 CLI(azd)의 환경은 개발, 테스트 또는 prod와 같은 앱 배포를 위한 명명된 구성 집합입니다. 서로 다른 값을 사용하여 다양한 환경을 구성할 수 있습니다. 환경은 다음과 같은 몇 가지 중요한 용도로 사용됩니다.

  • 격리: 개발, 테스트 및 프로덕션 배포를 별도로 유지합니다.
  • 구성 관리: 각 환경에 대해 서로 다른 설정을 유지 관리합니다.
  • 공동 작업: 팀 구성원이 자신의 환경으로 작업할 수 있도록 합니다.
  • 리소스 조직: 환경별로 Azure 리소스를 그룹화하고 프로비전합니다.
  • 재현성: 여러 단계에서 일관된 배포를 보장합니다.

각 환경에는 자체 Azure 리소스 그룹 및 구성 설정이 있습니다. 이러한 환경 격리는 한 환경의 변경 내용이 다른 환경에 영향을 주지 않도록 방지하는 데 도움이 됩니다.

환경 구조 및 구성

Azure 개발자 CLI(azd) 환경은 프로젝트 내의 디렉터리 구조에 있습니다.

├── .azure                          [Created when you run azd init or azd up]
│   ├── <environment-name-1>        [Directory for environment-specific configurations]
│   │   ├── .env                    [Environment variables for this environment]
│   │   └── config.json             [Additional configuration parameters for this environment]
│   ├── <environment-name-2>        [Another environment]
│   │   ├── .env                    
│   │   └── config.json
│   └── config.json                 [Global azd configuration]

이 구조의 주요 구성 요소는 다음과 같습니다.

  • .azure 디렉터리: 모든 환경 구성에 대한 루트 디렉터리입니다. 기본적으로 파일에 의해 .gitignore 소스 제어에서 제외됩니다.
  • 환경별 디렉터리: 환경의 이름을 따서 명명된 디렉터리(예: dev, . prodtest
  • .env 파일: 애플리케이션 및 배포 중에 사용되는 환경별 변수를 포함합니다.
  • config.json: 명령 동작 및 기능에 영향을 azd 주는 설정을 구동하는 데 사용됩니다. 이 파일은 최종 사용자가 직접 사용할 수 없습니다.

환경 이름

환경 명명은 일반적으로 다음 패턴을 따릅니다.

  • 팀 프로젝트: <project-name-[dev/int/prod]>
  • 개인 프로젝트: <personal-unique-alias-[dev/int/prod]>

이러한 명명 규칙은 사용자가 적용 azd 하지 않으며 사용자가 구성할 수 있습니다.

환경 변수

Azure 개발자 CLI 환경 변수는 환경에 영향을 주며 환경마다 다를 수 있는 구성 설정을 저장하는 방법을 제공합니다. Azure Developer CLI 명령을 실행할 때 다음 변수를 사용하여 다음을 수행합니다.

  • Azure 서비스에 대한 엔드포인트와 같은 애플리케이션 설정을 구성합니다.
  • 프로비저닝 프로세스에 영향을 주는 인프라 매개 변수를 정의합니다.

파일에는 .env 다음 변수가 표준 형식으로 포함되어 있습니다.

AZURE_ENV_NAME=dev
AZURE_LOCATION=eastus
AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
AZURE_RESOURCE_GROUP=rg-dev-12345
SERVICE_WEB_HOSTNAME=web-dev-12345.azurewebsites.net
SERVICE_API_HOSTNAME=api-dev-12345.azurewebsites.net

일반적인 환경 변수는 다음과 같습니다.

변수 설명
AZURE_ENV_NAME 현재 환경의 이름
AZURE_LOCATION 리소스가 배포되는 Azure 지역
AZURE_SUBSCRIPTION_ID 이 환경에 사용되는 Azure 구독의 ID
AZURE_RESOURCE_GROUP 이 환경의 리소스 그룹 이름

팁 (조언)

다른 일반적인 환경 변수 및 서비스별 예제는 환경 변수 설명서를 참조하세요.

환경 변수를 사용하는 경우:

  • 소스 제어에 파일을 커밋하지 .env 마세요. 환경 구성을 유지하거나 공유해야 하는 경우 사용자는 원격 환경을 사용해야 합니다.
  • 환경 간에 일관된 명명을 사용합니다.
  • 명령을 azd env set 사용하여 변수를 안전하게 업데이트합니다.

경고

Azure 개발자 CLI .env 파일에 비밀을 저장하지 않습니다. 이러한 파일을 쉽게 공유하거나 무단 위치로 복사하거나 소스 제어에 체크 인할 수 있습니다. 보호되거나 비밀 없는 솔루션에는 Azure Key Vault 또는 AZURE RBAC(역할 기반 액세스 제어)와 같은 서비스를 사용합니다.

다른 프레임워크 환경 비교

Node.js, Django 또는 React와 같은 많은 프로그래밍 프레임워크 및 도구는 구성에 파일을 사용합니다 .env . Azure 개발자 CLI(azd)도 파일을 사용 .env 하지만 다음과 같은 중요한 차이점이 있습니다.

개념 Azure 개발자 CLI .env 프레임워크 .env 파일
위치 에 저장됨 .azure/<environment-name>/.env 일반적으로 프로젝트 루트 디렉터리에 저장됩니다.
환경 지원 여러 사용자 정의 환경(개발, 테스트, prod) 지원 수동 파일 전환 또는 명명 규칙(.env.development, .env.production)이 필요한 경우가 많습니다.
로딩 메커니즘 명령에 의해 azd 자동으로 로드됨 일반적으로 애플리케이션 코드 또는 빌드 스크립트에서 명시적 로드 필요
통합 Azure 서비스 및 리소스 프로비저닝과 긴밀하게 통합 Azure 관련 구성이 아닌 범용 구성
변수 관리 명령을 통해 azd env 관리 일반적으로 수동으로 또는 사용자 지정 스크립트를 통해 편집

둘 다 비슷한 용도로 사용되지만 Azure 개발자 CLI의 .env 접근 방식은 여러 배포 환경 및 Azure 리소스를 관리하기 위해 설계된 구조와 도구를 추가합니다.

비고

프로젝트에서 프레임워크 관련 .env 파일을 이미 사용하는 경우 충돌 없이 두 구성 시스템을 모두 유지할 수 있습니다. azd 환경 변수는 일부 작업에 대해 동일한 이름의 시스템 환경 변수를 재정의합니다.

다음 단계