Azure 개발자 CLI 작동 방식

완료됨

Azure 개발자 CLI(azd)는 개발자에게 친숙한 명령과 기본 애플리케이션 템플릿을 기반으로 빌드되었습니다. azd는 표준화된 프로젝트 템플릿을 사용하여 Azure에서 애플리케이션을 온보딩하고 관리하는 데 도움이 되는 일련의 명령을 제공합니다. 이러한 템플릿에는 Azure에 앱을 프로비전하고 배포하는 데 필요한 모든 소스 코드와 구성 자산이 포함되어 있습니다. 기존의 확장 가능한 샘플 템플릿 중 하나를 사용하거나 직접 빌드하여 azd 사용을 시작할 수 있습니다.

azd 명령 살펴보기

Azure 개발자 CLI에는 리소스 프로비전 및 배포와 같은 일반적인 개발 워크플로 단계에 매핑되는 접근하기 쉬운 명령 집합이 포함되어 있습니다. azd up과 같은 일부 azd 명령은 이러한 작업을 더욱 간소화하기 위해 한 번에 여러 단계를 처리합니다.

예를 들어 기존 템플릿을 사용하는 일반적인 azd 워크플로에는 다음 단계가 포함됩니다.

  1. --template 매개 변수와 함께 azd init 명령을 실행하여 기존 템플릿을 복제하고 메시지가 표시되면 환경 이름을 설정합니다.

    azd init --template todo-nodejs-mongo
    
  2. azd auth login 명령을 실행하여 Azure 구독에 로그인합니다.

    azd auth login
    
  3. azd up 명령을 실행하여 Azure에 템플릿 리소스를 프로비전하고 배포합니다.

    azd up
    
  4. Azure에서 환경이 설정되면 애플리케이션 기능 또는 Azure 리소스 템플릿을 로컬에서 수정한 다음 azd up을 다시 실행하여 변경 내용을 프로비전할 수 있습니다.

다른 작업을 완료하고 이 워크플로를 확장하는 데 다른 azd 명령을 사용할 수 있습니다. azd는 사용 편의성을 위해 몇 가지 매개 변수를 사용하여 최소한의 명령 수를 갖도록 설계되었습니다. 가장 일반적인 azd 명령 중 일부는 다음과 같습니다.

  • azd init - 새 애플리케이션을 초기화합니다.
  • azd up - 단일 명령으로 Azure 리소스를 프로비전하고 프로젝트를 배포합니다.
  • azd provision - 애플리케이션에 대한 Azure 리소스를 프로비전합니다.
  • azd deploy - 애플리케이션 코드를 Azure에 배포합니다.
  • azd pipeline - 배포 파이프라인을 관리하고 구성합니다(베타).
  • azd auth - Azure로 인증합니다.
  • azd config - azd 구성(예: 기본 Azure 구독, 위치)을 관리합니다.
  • azd down - 애플리케이션에 대한 Azure 리소스를 삭제합니다.

azd 템플릿 살펴보기

Azure 개발자 CLI 명령은 표준화된 프로젝트 템플릿과 함께 작동하도록 고안되었습니다. 각 템플릿은 특정 파일 및 폴더 규칙을 준수하는 코드 리포지토리입니다. 템플릿에는 Azure 리소스를 프로비전하고 선택적으로 애플리케이션 소스 코드를 배포하는 데 필요한 azd 자산이 포함되어 있습니다. 일부 템플릿에는 고유의 소스 코드를 추가한다는 가정 하에 애플리케이션 소스 코드가 포함되지 않을 수도 있습니다. azd up과 같은 명령을 실행하면 도구는 프로젝트 템플릿 자산을 사용하여 Azure에 리소스 프로비전 또는 배포와 같은 다양한 워크플로 단계를 실행합니다.

azd 템플릿 작업에는 두 가지 주요 접근 방식이 있습니다.

  • 기존 azd 템플릿 확장 - 공통 로컬 애플리케이션 스택, 시나리오, 아키텍처를 다루는 대규모 azd 템플릿 라이브러리가 이미 존재합니다. awesome-azd 템플릿 라이브러리 사이트에서 다양한 템플릿을 찾아볼 수 있습니다. 로컬 애플리케이션 스택이나 원하는 아키텍처에 매핑되는 템플릿을 찾으면 이를 시작점으로 사용할 수 있습니다. 그런 다음 소스 코드 디렉터리를 바꾸고 필요에 맞게 구성 또는 인프라 파일을 수정합니다.

  • 고유한 앱을 azd 템플릿으로 변환 - 프로젝트를 azd와 호환되도록 만들기 가이드에 따라 기존 앱을 azd template으로 변환할 수도 있습니다. 사용자 고유의 템플릿을 만드는 것은 처음에는 더 많은 작업이 필요한 경우가 많지만 대부분의 제어를 허용하고 향후 앱 개발 작업을 위해 재사용 가능한 솔루션을 생성합니다. 고유한 템플릿을 만드는 핵심 단계는 다음과 같습니다.

    • azd init로 프로젝트 템플릿을 초기화합니다.

    • Bicep 또는 Terraform을 사용하여 Infrastructure as Code 파일을 만듭니다.

    • 앱 서비스를 Azure 리소스와 함께 연결하도록 azure.yaml 파일을 업데이트합니다.

    • azd up으로 프로비전 및 배포합니다.

      A diagram showing the Azure Developer CLI template creation workflow.

어떤 방식을 선택하든 결과 템플릿 구조는 동일합니다. 모든 azd 템플릿에는 다음 자산이 포함되어 있습니다.

  • infra 폴더 - azd 템플릿에 대한 모든 Bicep 또는 Terraform IaC 파일이 포함되어 있습니다. IaC(Infrastructure as code)를 사용하면 배포될 때마다 동일한 환경을 안정적으로 생성하는 선언적 정의 파일에서 인프라 리소스와 구성을 정의할 수 있습니다. Terraform은 여러 클라우드 플랫폼에서 작동하지만 Bicep은 Azure에서만 작동합니다. azd는 이러한 파일을 실행하여 앱을 호스트하는 데 필요한 Azure 리소스를 만듭니다. IaC란? 교육 모듈에서 IaC에 대해 자세히 알아볼 수 있습니다.

  • azure.yaml 파일 - 프로젝트에서 하나 이상의 서비스를 정의하고 배포를 위해 Azure 리소스에 매핑하는 구성 파일입니다. 예를 들어 각각 배포를 위해 서로 다른 Azure 리소스에 매핑하는 특성이 있는 API 서비스 및 웹 프런트 엔드 서비스를 정의할 수 있습니다.

  • .azure 폴더 - 리소스를 배포할 위치 또는 기타 구독 정보와 같은 필수 Azure 구성 및 환경 변수가 포함되어 있습니다.

  • src folder - 배포 가능한 모든 앱 소스 코드가 포함되어 있습니다. 일부 azd 템플릿은 인프라 자산만 제공하고 고유한 애플리케이션 코드를 추가할 수 있도록 src 디렉터리를 비워 둡니다.

    A screenshot showing the Azure Developer CLI template structure.

또한 대부분의 azd 템플릿에는 선택적으로 다음 폴더 중 하나 이상이 포함되어 있습니다.

  • .devcontainer 폴더 - 애플리케이션의 개발 컨테이너 환경을 설정할 수 있습니다. azd에만 국한되지 않는 일반적인 개발 환경 방식입니다.
  • .github 폴더 - azd의 기본 CI/CD 공급자인 GitHub Actions에 대한 CI/CD 워크플로 파일을 보관합니다.
  • .azdo 폴더 - CI/CD용 Azure Pipelines를 사용하기로 한 경우 이 폴더에서 워크플로 구성 파일을 정의합니다.