Azure 개발자 CLI 확장 개요

Azure 개발자 CLI(azd) 확장은 Azure 개발자 CLI의 기능을 확장하는 모듈식 구성 요소입니다. 새 기능을 추가하고, 워크플로를 자동화하고, CLI에서 직접 다른 서비스와 통합할 수 있습니다. 확장을 사용하여 진화하는 팀 요구 사항 및 Azure 시나리오에 맞게 조정 azd 합니다.

비고

azd 확장 프레임워크는 일반적으로 사용할 수 있습니다. 개별 확장 또는 기능에는 자체 미리 보기 상태가 있을 수 있습니다.

확장 원본 관리

요구 사항이 증가함에 따라 확장을 검색, 설치 및 업데이트할 수 있습니다. 확장 원본은 배포 및 관리를 처리합니다.

  • 확장 원본은 사용 가능한 azd 확장 목록을 제공하는 파일 또는 URL 기반 매니페스트입니다.
  • 프라이빗, 로컬 또는 공용 레지스트리에 연결하는 사용자 지정 확장 원본을 추가할 수 있습니다.
  • 확장 원본은 NuGet 또는 NPM(노드 패키지 관리자) 피드와 동일한 개념이며 공식 확장 레지스트리 스키마를 준수해야 합니다.

azd에서는 확장 기능을 확인하는 여러 방법을 지원합니다.

  • 공식 확장 원본 레지스트리는 미리 구성되어 azd 있으며 에서 https://aka.ms/azd/extensions/registry호스트됩니다.
  • URL 기반 원본은 팀이 퍼블릭 또는 프라이빗 배포를 위해 호스트하는 원격 레지스트리 매니페스트를 참조합니다.
  • 파일 기반 원본은 오프라인 사용 또는 로컬 개발을 위해 로컬 레지스트리 매니페스트를 참조합니다.
  • 개발야간 레지스트리는 진행 중인 작업에 대한 옵트인 소스이며 자동으로 빌드된 자사 확장입니다. 프로덕션 워크플로 대신 테스트 시나리오에 사용합니다.
  • 자체 포함 번들 파일은 레지스트리를 호스트하지 않으려는 경우 로컬 파일 또는 HTTPS URL에서 직접 설치할 수 있는 이식 .zip 가능한 패키지를 제공합니다.

azd 는 사용자 지정 확장 원본 이름에 대해 엄격한 유효성 검사를 적용합니다. 이름은 1~64개의 소문자 ASCII 문자 또는 숫자를 포함해야 합니다. 문자 또는 숫자 사이에 하이픈(-) 및 밑줄(_)을 포함할 수 있습니다. 이름은 문자 또는 숫자로 시작하고 끝나야 합니다. azd 잘못된 이름에 대한 오류를 반환합니다. 정규화되지 않습니다. 이름은 azdbundle 예약되어 있으며 사용자 지정 원본에 사용할 수 없습니다. 원본 이름은 .와 함께 --source사용할 때 유효해야 합니다.

미리 구성된 azd 원본은 공식 레지스트리입니다. 제거할 수 없거나 위치를 변경할 수 없습니다.

개발 레지스트리에 옵트인하려면 다음 명령을 실행합니다.

# Add a new extension source name 'dev' to your `azd` configuration.
azd extension source add -n dev -t url -l "https://aka.ms/azd/extensions/registry/dev"

주의

개발 레지스트리에서 호스트되는 확장은 서명되지 않으며 Azure 지원 적용되지 않으며 예고 없이 변경하거나 제거할 수 있습니다.

확장 소스 명령

azd 설치에 대한 확장 원본을 관리하려면 다음 명령을 사용하십시오.

설치된 확장 원본 나열

azd extension source list

새 확장 원본 추가

azd extension source add -n <name> -t url -l <registry-url>
  • -l, --location: 확장 원본의 위치입니다.
  • -n, --name: 확장 원본의 이름입니다. 유효한 사용자 지정 원본 이름을 사용합니다.
  • -t, --type: 확장 원본의 형식입니다. 지원되는 형식은 파일 및 URL입니다.

확장 원본 제거

azd extension source remove <name>

미리 구성된 azd 원본은 제거할 수 없습니다.

업데이트에서 레거시의 잘못된 소스 이름으로 인해 ~/.azd/config.json에 소스 로드 오류가 보고되면, 문제가 되는 소스를 azd extension source remove로 제거한 다음 유효한 이름으로 다시 추가합니다.

확장 관리

확장을 사용하도록 설정하고 확장 원본을 구성한 후 확장을 설치하여 새 기능을 추가합니다 azd. 확장 작업에 대한 예제는 빠른 시작을 참조하세요. AI 확장 사용

확장 목록

azd extension list [flags]
  • --installed 설치된 확장 목록을 표시합니다.
  • --source 지정된 원본의 확장만 나열합니다. 원본 이름은 유효한 등록된 원본 이름이어야 합니다.
  • --tags AI 또는 테스트와 같은 태그별로 확장을 필터링합니다.

확장 설치

azd extension install <extension-names> [flags]

설치하려는 확장의 이름으로 <extension-name>을(를) 바꾸십시오.

  • -v, --version 설치할 정확한 버전을 지정합니다. 이 옵션은 버전 범위 또는 제약 조건을 허용하지 않으며 자체 포함 번들(.zip 파일 경로 또는 URL)을 설치할 때 사용할 수 없습니다.
  • -s, --source 설치에 사용되는 확장 소스를 지정합니다. 원본 이름은 유효한 등록된 원본 이름이어야 합니다.

HTTPS URL에서 자체 포함 번들을 설치하려면 번들 위치를 확장 이름으로 제공합니다.

azd extension install https://example.com/extensions/example.zip
  • --all 지정된 경우 이전에 설치된 모든 확장을 업그레이드합니다.
  • -v, --version 지정된 확장이 제공된 경우 정확한 버전으로 업그레이드합니다. 이 옵션은 버전 범위 또는 제약 조건을 허용하지 않습니다.
  • -s, --source 설치에 사용되는 확장 소스를 지정합니다. 원본 이름은 유효한 등록된 원본 이름이어야 합니다.
  • --no-dependency-updates 지정된 경우 종속성에 대한 업데이트를 방지합니다.

확장 제거

azd extension uninstall <extension-name>
  • --all 지정된 경우 설치된 모든 확장을 제거합니다.

프로젝트에서 필수 확장 선언

프로젝트에서 필요한 확장을 azure.yaml 선언할 수 있으므로 azd 프로젝트에 필요한 확장 버전을 확인하고 설치할 수 있습니다. requiredVersions.extensions 아래에 확장 요구 사항을 추가하고, latest, 정확한 버전 또는 지원되는 시맨틱 버전 제약 조건을 사용하세요.

requiredVersions:
  extensions:
    azure.ai.agents: "latest"
    contoso.azd.tagger: "^2.0.0"

템플릿이 확장 제공 서비스 호스트, 수명 주기 처리기, 유효성 검사 공급자 또는 명령에 의존하는 경우 프로젝트 수준 요구 사항을 사용합니다. 전체 스키마 및 버전 제약 조건 세부 정보는 다음을 참조하세요 requiredVersions.

확장 통합 지점 이해

확장은 azd와 여러 방식으로 통합될 수 있습니다:

  • 메타데이터, 도움말 및 예제를 사용하여 명령 네임스페이스를 추가합니다.
  • 프로젝트 파일에 대한 구성 스키마 및 IntelliSense 메타데이터를 제공합니다.
  • 프로비전, 패키지 및 배포와 같은 워크플로에 대한 수명 주기 이벤트 처리기를 등록합니다.
  • 사용자 지정 프로비저닝, 유효성 검사, 서비스 대상 및 언어 또는 프레임워크 지원을 위한 공급자를 추가합니다.
  • 에이전트 및 개발자 도구에 대한 MCP(모델 컨텍스트 프로토콜) 서버 기능을 노출합니다.

구현 지침은 확장 개발 개념을 참조하세요.

개발 컨테이너에서 azd 확장 사용

azd 개발자 컨테이너 기능은 extensions 옵션을 지원하여 컨테이너 빌드 중에 쉼표로 구분된 확장 목록을 자동으로 설치할 수 azd 있습니다. 이러한 방식으로 설치된 확장은 컨테이너가 시작되는 즉시 사용할 수 있으므로 수동 설정을 azd 줄이고 이미 설치된 필수 확장으로 명령을 실행할 수 있습니다.

확장을 자동으로 설치하려면 extensions 파일의 azd 기능 항목에 devcontainer.json 옵션을 추가합니다.

{
    "name": "Azure Developer CLI",
    "image": "mcr.microsoft.com/devcontainers/python:3.10-bullseye",
    "features": {
        "ghcr.io/azure/azure-dev/azd:latest": {
            "extensions": "my-ext-1,my-ext-2"
        }
    }
}

extensions 값은 쉼표로 구분된 azd 확장 이름 목록입니다. 컨테이너 빌드 중에 설치가 수행되므로 컨테이너가 시작되는 즉시 확장을 사용할 준비가 됩니다. 확장 목록을 변경한 후 Visual Studio Code 의 Dev Container에서 다시 빌드 및 다시 열기 명령을 사용하여 업데이트된 확장으로 컨테이너를 다시 빌드합니다.

azd Dev Container 기능에 대해 자세히 알아봅니다.

다음 단계