다음을 통해 공유


Azure 배포 환경에 대한 Azure 개발자 CLI 지원

Azure 개발자 CLI(azd)는 Azure 배포 환경에 대한 지원을 제공합니다. ADE(Azure 배포 환경)는 미리 정의된 구독에 배포된 Azure 리소스의 미리 구성된 컬렉션입니다. Azure 거버넌스는 샌드박스, 테스트, 스테이징 또는 프로덕션과 같은 환경 유형에 따라 해당 구독에 적용됩니다. Azure 배포 환경을 사용하면 엔터프라이즈 보안 정책을 적용하고 IaC(미리 정의된 인프라) 템플릿으로 큐레이팅된 집합을 제공할 수 있습니다.

필수 조건

다음을 사용하여 azdAzure 배포 환경에서 작업하기 위한 다음 필수 구성 요소를 완료했는지 확인합니다.

Azure 배포 환경 지원 사용

같은 azd upazd provision표준 명령을 사용하여 배포 환경에 리소스를 프로비전하고 배포하도록 구성할 azd 수 있습니다. Azure 배포 환경에 대한 지원을 사용하도록 설정하려면 다음 명령을 실행합니다.

azd config set platform.type devcenter

설정devcenter되면 platform.type 모든 azd 원격 환경 상태 및 프로비저닝이 새 개발자 센터 구성 요소를 활용합니다. 또한 이 구성은 로컬 템플릿의 infra 폴더가 효과적으로 무시됨을 의미합니다. 대신 리소스 azd 프로비저닝을 위해 개발자 센터 카탈로그에 정의된 인프라 템플릿 중 하나를 사용합니다.

다음 명령을 통해 개발자 센터 지원을 사용하지 않도록 설정할 수도 있습니다.

azd config unset platform

Azure 배포 환경 작업

개발 센터 기능을 사용하도록 설정하면 몇 가지 일반적인 azd 명령의 기본 동작이 이러한 원격 환경에서 작동하도록 변경됩니다. 개발 센터 기능은 표준 azd원격 환경 지원 제공하는 기능을 확장합니다.

azd init

개발 센터 모드의 명령 환경에는 azd init 구성된 카탈로그에서 선택할 수 있는 모든 azd 호환 ADE 템플릿이 표시됩니다. init 프로세스 중에 템플릿 코드를 azure.yaml 복제한 후 azd 선택한 템플릿에 따라 선택한 구성이 있는 platform 섹션을 포함하도록 파일이 자동으로 업데이트됩니다. 구성에는 개발자 센터 이름, 카탈로그 및 환경 정의가 포함됩니다.

`azd init`

azd up

azd up 명령은 애플리케이션을 패키지, 프로비전 및 Azure 배포 환경에 배포합니다. 그러나 명령의 azd up 프로비전 단계에서는 원격 개발 센터에서 큐레이팅된 코드 기반 인프라 템플릿을 사용하고 배포 단계에서는 템플릿에 azd 소스 코드를 배포합니다. 개발 센터 모드를 사용하는 azd 동안 로컬 azd 템플릿의 폴더를 infra 무시하고 개발자 센터 템플릿을 사용하여 리소스만 프로비전합니다. 또한 이 명령은 Azure 배포 환경 프로젝트 또는 환경 유형과 같은 필요한 값을 묻는 메시지를 표시합니다.

azd up

azd template list

azd template list 명령은 기본 AZD Awesome 갤러리의 템플릿을 표시하는 대신 개발자 센터 카탈로그에 사용 가능한 인프라 템플릿을 표시합니다. 카탈로그는 개발 팀이 환경을 만드는 데 사용할 수 있는 큐레이팅되고 승인된 코드 기반 인프라 템플릿 집합을 제공합니다.

azd template list

A screenshot showing the updated template gallery.

azd provision

azd provision 명령은 새 개발자 센터 환경을 만듭니다. 이 명령은 환경 유형 또는 프로젝트와 같은 누락된 값을 묻는 메시지를 표시합니다. 명령이 실행되면 연결된 인프라 템플릿을 사용하여 해당 환경에 대한 올바른 Azure 리소스 집합을 프로비전합니다. 개발 센터 모드를 사용하는 azd 동안 로컬 azd 템플릿의 폴더를 infra 무시하고 개발자 센터 템플릿을 사용하여 리소스만 프로비전합니다.

azd provision

azd env list

azd env list 명령은 개발자 포털에 표시되는 것과 동일한 환경 목록을 표시합니다.

azd env list

Azure 배포 환경에 대한 리소스 태그 지정

azd Azure 배포 환경에 대한 프로비저닝은 개발자 센터 카탈로그의 큐레이팅된 템플릿을 사용합니다. 카탈로그의 템플릿은 앱 서비스를 파일에서 연결할 수 있도록 프로비전된 Azure 리소스에 azure.yaml 태그를 할당하거나 할당하지 않을 수 있습니다. 템플릿에서 태그를 할당하지 않는 경우 다음 두 가지 방법 중 하나로 이 문제를 해결할 수 있습니다.

  • 개발자 센터 카탈로그 관리자와 협력하여 프로비전된 Azure 리소스에 파일에 정의된 azure.yaml 서비스와 연결할 태그가 포함되어 있는지 확인합니다.

  • 태그를 resoureNameazure.yaml 사용하는 대신 파일에서 지정합니다.

    services:
        api:
            project: ./src/api
            host: containerapp
            language: js
            resourceName: sample-api-containerapp
        web:
            project: ./src/web
            host: containerapp
            language: js
            resourceName: sample-web-containerapp
    

개발 센터 설정 구성

여러 위치에서 개발 센터에 대한 설정을 정의 azd 할 수 있습니다. 이러한 위치에서 설정 결합하여 다음 우선 순위에 따라 최종 구성 집합을 만듭니다.

  1. 환경 변수
  2. Azd 환경 구성
  3. 프로젝트 구성
  4. 사용자 구성

azd 는 이러한 원본에서 누락된 구성 값을 자동으로 묻는 메시지를 표시합니다. 이러한 각 구성 옵션은 다음 섹션에 자세히 설명되어 있습니다.

환경 변수

다음 환경 변수가 검색되어 사용됩니다 azd.

  • AZURE_DEVCENTER_NAME
  • AZURE_DEVCENTER_PROJECT
  • AZURE_DEVCENTER_CATALOG
  • AZURE_DEVCENTER_ENVIRONMENT_DEFINITION
  • AZURE_DEVCENTER_ENVIRONMENT_TYPE
  • AZURE_DEVCENTER_ENVIRONMENT_USER

구성 정의

파일의 환경 범위에서 azd 개발자 센터에 대한 구성을 .azure/<env>/config.json 정의합니다.

{
    "platform": {
        "config": {
            "catalog": "SampleCatalog",
            "environmentDefinition": "Todo",
            "environmentType": "Dev",
            "name": "sample-devcenter",
            "Project": "SampleProject"
        }
    }
}

프로젝트 범위

파일 노드의 azd 프로젝트 범위에서 개발 센터에 대한 구성을 platformazure.yaml 정의합니다.

name: todo-nodejs-mongo-aca
metadata:
    template: todo-nodejs-mongo-aca@0.0.1-beta
platform:
    type: devcenter
    config:
        catalog: SampleCatalog
        environmentDefinition: Todo
        name: sample-devcenter
        project: SampleProject
services:
    api:
        project: ./src/api
        host: containerapp
        language: js
    web:
        project: ./src/web
        host: containerapp
        language: js

사용자 범위

파일의 사용자 범위에서 개발자 센터에 대한 구성을 ~/<user_profile>/.azd/config.json 정의합니다.

{
    "platform": {
        "config": {
            "catalog": "SampleCatalog",
            "environmentDefinition": "Todo",
            "environmentType": "Dev",
            "name": "sample-devcenter",
            "Project": "SampleProject"
        }
    }
}