다음을 통해 공유


AzureContainerApps@0 - Azure Container Apps v0 배포 작업

Azure Container Apps를 빌드하고 배포하는 Azure DevOps 작업입니다.

Syntax

# Azure Container Apps Deploy v0
# An Azure DevOps Task to build and deploy Azure Container Apps.
- task: AzureContainerApps@0
  inputs:
  # advanced
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    #appSourcePath: # string. Application source path. 
    azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection. 
    #acrName: # string. Azure Container Registry name. 
    #acrUsername: # string. Azure Container Registry username. 
    #acrPassword: # string. Azure Container Registry password. 
    #dockerfilePath: # string. Dockerfile path. 
    #imageToBuild: # string. Docker image to build. 
    #imageToDeploy: # string. Docker image to deploy. 
    #containerAppName: # string. Azure Container App name. 
    #resourceGroup: # string. Azure resource group name. 
    #containerAppEnvironment: # string. Azure Container App environment. 
    #runtimeStack: # string. Application runtime stack. 
    #targetPort: # string. Application target port. 
    #location: # string. Location of the Container App. 
    #environmentVariables: # string. Environment variables. 
    #ingress: # string. Ingress setting. 
    #yamlConfigPath: # string. YAML configuration file path. 
    #disableTelemetry: # boolean. Disable telemetry.

입력

workingDirectory - 작업 디렉터리
입력 별칭: cwd. string.

스크립트가 실행되는 현재 작업 디렉터리입니다. Empty는 $(System.DefaultWorkingDirectory)에 해당하는 리포지토리(빌드) 또는 아티팩트(릴리스)의 루트입니다.


appSourcePath - 애플리케이션 원본 경로
string.

빌드할 소스 애플리케이션 코드의 실행기의 절대 경로입니다. 제공되지 않은 경우 컨테이너 앱에 참조할 이미지가 있는지 확인하기 위해 'imageToDeploy' 인수를 제공해야 합니다.

ACR acrName 에 새 이미지를 푸시하는 경우 및 appSourcePath 작업 입력이 필요합니다.


azureSubscription - Azure Resource Manager 연결
입력 별칭: connectedServiceNameARM. string. 필수 요소.

배포에 대한 Azure Resource Manager 서비스 연결을 지정합니다. 이 서비스 연결은 Container App이 생성/업데이트될 사용자의 Azure 구독에 연결되어야 합니다. 이 서비스 연결에는 구독 내에서 이러한 변경을 수행할 수 있는 적절한 권한이 있어야 합니다 (예: 기여자 역할).


acrName - Azure Container Registry 이름
string.

실행 가능한 애플리케이션 이미지를 푸시할 Azure Container Registry 이름입니다.

ACR acrName 에 새 이미지를 푸시하는 경우 및 appSourcePath 작업 입력이 필요합니다.


acrUsername - 사용자 이름 Azure Container Registry
string.

제공된 Azure Contrainer 레지스트리에 대한 푸시 요청을 인증하는 데 사용되는 사용자 이름입니다. 제공되지 않으면 액세스 토큰은 'az acr login'을 통해 생성되고 요청을 인증하기 위해 'docker 로그인'에 제공됩니다.


acrPassword - 암호 Azure Container Registry
string.

제공된 Azure Contrainer 레지스트리에 대한 푸시 요청을 인증하는 데 사용되는 암호입니다. 제공되지 않으면 액세스 토큰은 'az acr login'을 통해 생성되고 요청을 인증하기 위해 'docker 로그인'에 제공됩니다.


dockerfilePath - Dockerfile 경로
string.

제공된 애플리케이션 원본의 Dockerfile에 대한 상대 경로(_without 파일 접두 사)는 ACR로 푸시되고 컨테이너 앱에 배포되는 이미지를 빌드하는 데 사용해야 합니다. 제공되지 않으면 제공된 애플리케이션 원본의 루트에 'Dockerfile'이라는 파일이 있는 경우 이 작업이 검사 이미지를 빌드하는 데 사용합니다. 그렇지 않으면 Oryx++ Builder를 사용하여 이미지를 만듭니다.


imageToBuild - 빌드할 Docker 이미지
string.

이 작업에서 빌드하고, ACR에 푸시하고, 컨테이너 앱에 배포할 이미지의 사용자 지정 이름입니다. 참고: 이 이미지 이름에는 ACR 서버가 포함되어야 합니다. 예: <acr-name>.azurecr.io/<repo>:<tag>. 이 인수를 제공하지 않으면 기본 이미지 이름이 형식 <acr-name>.azurecr.io/ado-task/container-app:<build-id>.<build-number>으로 생성됩니다.


imageToDeploy - 배포할 Docker 이미지
string.

이미 ACR로 푸시되었으며 이 작업으로 컨테이너 앱에 배포될 이미지의 이름입니다. 참고: 이미지 이름에는 ACR 서버가 포함되어야 합니다. 예: <acr-name>.azurecr.io/<repo>:<tag>. 이 인수를 제공하지 않으면 'imageToBuild' 인수에 대해 제공되거나 결정된 값이 사용됩니다. 이 이미지를 끌어오 acrName 기 위해 인증이 필요한 ACR instance 있는 경우 인수 또는 acrUsernameacrPassword 인수를 제공하여 ACR instance 대한 요청을 인증할 수 있습니다.


containerAppName - Azure Container App 이름
string.

만들거나 업데이트할 Azure Container App의 이름입니다. 제공되지 않으면 이 값은 형식 ado-task-app-<build-id>-<build-number>입니다.


resourceGroup - Azure 리소스 그룹 이름
string.

Azure Container App이 만들어질 리소스 그룹(또는 현재 존재)입니다. 제공되지 않으면 이 값은 형식 <container-app-name>-rg입니다.


containerAppEnvironment - Azure Container App 환경
string.

애플리케이션과 함께 사용할 Azure Container App 환경의 이름입니다. 제공되지 않으면 컨테이너 앱의 리소스 그룹에 있는 기존 환경이 사용되고, 그렇지 않으면 환경이 형식 <container-app-name>-env으로 만들어집니다.


runtimeStack - 애플리케이션 런타임 스택
string.

컨테이너 앱에 배포된 최종 실행 가능한 애플리케이션 이미지에 사용되는 플랫폼 버전 스택입니다. 값은 형성 <platform>:<version>에 제공되어야 합니다. 제공되지 않은 경우 이 값은 제공된 애플리케이션의 내용에 따라 Oryx에 의해 결정됩니다. Oryx에 대해 지원되는 런타임 스택에 대한 자세한 내용은 이 문서를 참조하세요.


targetPort - 애플리케이션 대상 포트
string.

컨테이너 앱이 수신 대기할 대상 포트입니다. 제공되지 않으면 이 값은 Python 애플리케이션의 경우 "80"이고 지원되는 다른 모든 플랫폼의 경우 "8080"이 됩니다.


location - 컨테이너 앱의 위치
string.

컨테이너 앱(및 기타 생성된 리소스)이 배포될 위치입니다.


environmentVariables - 환경 변수
string.

컨테이너에 대한 환경 변수 목록입니다. 'key=value' 형식의 공백으로 구분된 값입니다. 기존 값을 지우는 빈 문자열입니다. 비밀을 참조하기 위해 'secretref:'가 있는 접두사 값입니다.


ingress - 수신 설정
string.

가능한 옵션: 외부, 내부, 사용 안 함. 를 로 설정 external 하면(컨테이너 앱을 만들 때 제공되지 않은 경우 기본값) 구성된 앱 환경 엔드포인트에 따라 컨테이너 앱이 인터넷 또는 VNET에서 표시됩니다. 로 internal설정하면 컨테이너 앱이 앱 환경 내에서만 표시됩니다. 로 disabled설정하면 이 컨테이너 앱에 대해 수신이 비활성화되고 HTTP 또는 TCP 엔드포인트가 없습니다.


yamlConfigPath - YAML 구성 파일 경로
string.

컨테이너 앱의 구성을 자세히 설명하는 YAML 파일의 전체 경로(실행 중인 Azure Pipelines 에이전트)입니다.

YAML 구성 파일의 속성은 resourceGroup 사용되지 않습니다 . 이 값은 작업에 제공된 인수 또는 태스크에서 생성된 기본 리소스 그룹 이름에서 resourceGroup 가져옵니다. YAML 구성 파일에 제공된 다른 모든 속성은 이 작업에 대한 인수로 제공된 값을 재정의합니다. 예를 들어 인수가 containerAppName 작업에 제공되고 name 속성이 YAML 구성 파일에 name 설정된 경우 컨테이너 앱을 만들거나 업데이트할 때 YAML 파일의 속성이 사용됩니다.

이미지 및 애플리케이션 원본 인수(예:appSourcePath , imageToDeploy)는 컨테이너 앱에서 사용하는 이미지를 먼저 빌드 및/또는 푸시하는 데 계속 사용됩니다. 이 경우 제공된 YAML 구성 파일은 시나리오에 따라 (또는 imageToBuild)로 imageToDeploy 지정된 이미지를 참조해야 합니다.

새 컨테이너 앱을 만들 때 YAML 구성 파일에 나열된 모든 속성(위에서 설명한 경우 제외 resourceGroup )은 컨테이너 앱을 만들 때 설정됩니다. 기존 컨테이너 앱을 업데이트할 때 파일에 나열된 속성만 컨테이너 앱에서 업데이트됩니다.

현재 YAML 파일은 사용되는 컨테이너 레지스트리에 대한 관리 ID 인증 설정을 지원하지 않습니다. 이 문제에 대한 자세한 내용은 이 GitHub 문제를 참조하세요.

인수가 yamlConfigPath 제공되는 경우 YAML 파일이 해당 az containerapp 명령으로 전달됩니다( 또는 create ).update 시나리오에 따라 다릅니다. YAML 구성 파일이 제공될 때 의도한 동작에 대한 자세한 내용은 해당 명령에 연결된 문서를 참조하세요.

YAML 구성 파일의 구조에 대한 자세한 내용은 이 사이트를 방문하세요.


disableTelemetry - 원격 분석 사용 안 함
boolean.

'true'로 설정하면 이 Azure DevOps 작업에서 원격 분석을 수집하지 않습니다. 'false'로 설정하거나 이 인수가 제공되지 않으면 이 Azure DevOps 작업에서 대상으로 하는 컨테이너 앱 빌드 및 배포 시나리오에 대한 원격 분석이 Microsoft로 전송됩니다.


작업 제어 옵션

모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.

출력 변수

없음

설명

이 Azure Pipelines 작업을 사용하면 사용자가 이전에 빌드한 이미지, 이미지를 빌드할 수 있는 Dockerfile을 제공하거나 작성기를 사용하여 사용자에 대해 실행 가능한 애플리케이션 이미지를 만들어 Azure Pipelines 워크플로에서 Azure Container App 에 애플리케이션 원본을 쉽게 배포할 수 있습니다.

작업에는 다음과 같은 두 가지 사용 패턴이 있습니다.

  • ACR에 이미지 푸시 - 새 이미지를 ACR acrName 에 푸시할 때 및 appSourcePath 작업 입력이 필요합니다.
  • 이전에 푸시된 이미지 배포 - 이전에 푸시된 이미지를 imageToDeploy 배포할 때 작업 입력이 필요합니다. 이 이미지를 끌어오 acrName 기 위해 인증이 필요한 ACR instance 있는 경우 인수 또는 acrUsernameacrPassword 인수를 제공하여 ACR instance 대한 요청을 인증할 수 있습니다.

참고

이 작업의 메타데이터에서 공식적으로 "필수"로 표시된 작업 입력은 없지만 이 작업이 두 기본 사용 패터 중 하나를 사용하여 성공적으로 실행되려면 일부 입력을 제공해야 합니다.

제공된 애플리케이션 원본에서 Dockerfile을 찾거나 제공하지 않으면 다음 단계를 수행합니다.

  • Oryx++ Builder를 사용하여 Oryx 를 사용하여 애플리케이션 원본을 빌드하여 실행 가능한 애플리케이션 이미지를 생성합니다.
  • 이 실행 가능한 애플리케이션 이미지를 제공된 Azure Container Registry 푸시합니다.
  • 이 이미지를 기반으로 컨테이너 앱을 만들거나 업데이트합니다.

애플리케이션 원본에서 Dockerfile을 찾거나 검색한 경우 작성기가 사용되지 않으며, 호출을 사용하여 이미지를 빌드 docker build 하고 이 이미지를 기반으로 컨테이너 앱을 만들거나 업데이트합니다.

이전에 빌드한 이미지가 이미 ACR instance 푸시되어 이 작업에 제공된 경우 애플리케이션 원본이 필요하지 않으며 컨테이너 앱을 만들거나 업데이트할 때 이미지가 사용됩니다.

Microsoft 호스팅 에이전트에서 이 작업 실행

Microsoft 호스팅 에이전트에서 이 작업을 실행하는 경우 다음 운영 체제에서 이 작업을 성공적으로 실행하지 못할 수 있습니다.

  • macOS
    • Microsoft에서 제공하는 macOS 실행기는 Docker와 함께 설치되지 않습니다( 자세한 내용은 여기). 따라서 이 작업은 빌드된 실행 가능한 애플리케이션 이미지를 ACR에 푸시하는 것과 같은 명령을 실행할 수 없습니다 docker .
  • Windows
    • Microsoft에서 제공하는 Windows 실행기는 Docker가 설치되어 있지만 기본적으로 Linux 기반 이미지를 풀다운할 수 없습니다. 따라서 이 작업은 Oryx 작성기를 끌어와 제공된 애플리케이션 원본에서 실행 가능한 애플리케이션 이미지를 만들 수 없습니다.

자세한 내용은 아래 Docker 필수 구성 요소 섹션을 참조하세요.

데이터/원격 분석 수집 알림

기본적으로 이 Azure DevOps 작업은 Microsoft에 대해 다음과 같은 데이터를 수집합니다.

  • 사용자가 대상으로 하는 컨테이너 앱 빌드 및 배포 시나리오
    • , Oryx++ Builder를 사용하거나, 제공/발견된 Dockerfile을 사용하거나, 이전에 빌드한 이미지를 제공했습니다.
    • 참고: 이미지 이름이 수집되지 않음
  • 작업의 처리 시간(밀리초)
  • 작업의 결과
    • , 성공 또는 실패
  • Oryx++ Builder를 사용하는 경우 Oryx를 사용하여 제공된 애플리케이션 빌드와 관련된 이벤트 및 메트릭

데이터 수집을 사용하지 않도록 설정하려면 인수true를 로 disableTelemetry 설정하세요.

사전 요구 사항

이 작업을 실행하기 전에 이 작업에 제공된 인수에 따라 Azure 리소스 및 Azure DevOps 서비스 연결이 필요하거나 선택 사항입니다.

Azure DevOps Service 연결

Azure에 배포하려면 설정 섹션의 서비스 탭을 사용하여 Azure 구독을 Team Foundation Server 또는 Azure Pipelines에 연결해야 합니다. 계정 관리 화면(화면 오른쪽 위에 있는 기어 아이콘)을 열고 서비스 탭을 클릭하여 빌드 또는 Release Management 정의에 사용할 Azure 구독을 추가합니다.

ARM 서비스 엔드포인트를 만들고 'Azure Resource Manager' 엔드포인트 유형을 사용합니다. 서비스 연결을 만드는 방법에 대한 자세한 내용은 이 문서를 따르세요.

Azure CLI

이 작업을 수행하려면 Azure PIPELINEs 에이전트에 Azure CLI를 설치하여 작업 실행 동안 다양한 명령을 실행해야 합니다. 에이전트에 Azure CLI를 설치하는 방법에 대한 자세한 내용은 이 문서를 참조하세요. 에이전트가 Azure CLI가 설치된 컴퓨터에서 이미 실행 중인 경우 모든 관련 환경 변수가 업데이트되도록 에이전트를 다시 시작해야 합니다.

Docker

이 작업을 수행하려면 Azure Pipelines 에이전트에 Docker를 설치하여 제공된 Azure Container Registry 이미지를 푸시해야 합니다. 에이전트에 Docker를 설치하는 방법에 대한 자세한 내용은 이 문서를 참조하세요.

또한 Windows 에이전트를 사용하여 이 작업을 실행하는 사용자는 Linux 기반 이미지를 풀다운할 수 없는 문제가 발생할 수 있습니다. 이 resolve 위해 이 사이트를 방문하거나 에이전트의 DockerCli.exe 파일(일반적으로 폴더에 있음)을 Program Files\Docker\Docker 찾아 실행하세요.

& `.\DockerCli.exe` -SwitchDaemon

이 작업을 실행하는 에이전트에 Docker가 설치되어 있지 않으면 다음 시나리오가 계속 사용하도록 설정됩니다.

  • 컨테이너 앱이 배포하는 인수에 imageToDeploy이전에 빌드된 이미지 제공

Docker가 에이전트에 있지만 Linux 기반 이미지를 사용할 수 없는 경우 다음 시나리오는 계속 사용하도록 설정됩니다.

  • 컨테이너 앱이 배포하는 인수에 imageToDeploy이전에 빌드된 이미지 제공
  • Dockerfile 컨테이너 앱으로 빌드 및 배포될 애플리케이션 원본의 일부로 을 제공합니다.
    • 참고: 에는 Dockerfile Linux 기반 이미지 계층이 있을 수 없습니다.

pack CLI

팩 CLI는 클라우드 네이티브 Buildpacks 프로젝트에서 유지 관리되며, 애플리케이션 소스 코드가 제공되고 추가 Dockerfile이 제공되거나 발견되지 않을 때 이 작업에서 사용자에 대해 실행 가능한 애플리케이션 이미지를 만드는 데 사용됩니다. 이 작업에 제공된 애플리케이션 소스 코드를 가져와 이미지 레지스트리에 푸시하고 컨테이너 앱 내에서 애플리케이션을 빌드하고 실행하는 데 사용할 수 있는 이미지를 생성하기 위해 Oryx에서 작성 기를 만들었습니다.

팩 CLI의 안정적인 버전은 작업을 실행하는 Azure Pipelines 에이전트에 설치되며, 이 에이전트의 기본 OS에 따라 설치를 지원하기 위해 다른 도구가 활용됩니다.

  • Windows 실행기에서:
    • 다음을 수행하도록 PowerShell 명령 집합이 실행됩니다.
      • 폴더가 pack 아직 없는 경우 에이전트의 임시 폴더에 폴더를 pack 만듭니다.
      • 팩 CLI .zip 를 이 pack 폴더에 다운로드합니다.
      • .zip 내용의 콘텐츠 압축을 풀고 폴더에 pack 배치합니다.
      • 를 삭제합니다. .zip
  • 비 Windows 실행기에서:
    • curl 은 실행 파일을 포함하는 를 .tgz 풀다운하는 pack 데 사용됩니다.
    • tar 는 의 압축 .tgz 을 풀고 실행 파일을 에 배치하는 pack 데 사용됩니다. /usr/local/bin

Azure Container Registry

사용자가 컨테이너 이미지를 푸시할 수 있는 Azure Container Registry 있어야 합니다. 이 작업은 Azure Container Registry 활용하여 빌드된 실행 가능한 애플리케이션 이미지를 컨테이너 앱에 푸시하거나 컨테이너 앱을 배포합니다.

인수를 통해 acrName Azure Container Registry 이름이 필요합니다.

사용자는 Azure Container Registry instance 대한 호출을 인증하는 및 acrPassword 인수에 대한 acrUsername 값을 제공할 수도 있습니다. 제공되지 않으면 대신 호출을 인증하는 Azure CLI를 통해 액세스 토큰이 생성됩니다.

Azure Container App 환경

작업의 성능을 향상시키기 위해 사용자가 이전에 만든 Azure Container App 환경을 사용하는 것이 좋습니다. 이전에 만든 환경이 없거나 생성된 Container App을 호스트하는 데 사용되는 리소스 그룹에서 환경을 찾을 수 없는 경우 환경이 명령의 az containerapp up 일부로 만들어지며 추가 시간이 걸릴 수 있습니다.

예제

다음 예제에서는 다양한 시나리오에서 를 AzureContainerApps 사용하는 방법을 간략하게 설명합니다.

최소 - 컨테이너 앱용 애플리케이션 이미지 빌드

steps:
- task: AzureContainerApps@0
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'

그러면 라는 <container-app-name>-rg새 리소스 그룹에 라는 ado-task-app-<build-id>-<build-number> 새 컨테이너 앱이 만들어질 것입니다. 컨테이너 앱은 제공된 에서 빌드되고 제공된 appSourcePath ACR instance 푸시된 이미지를 기반으로 합니다. 제공된 ACR instance 푸시를 인증하기 위해 액세스 토큰이 생성됩니다.

최소 - 컨테이너 앱에 이전에 게시된 이미지 사용

steps:
- task: AzureContainerApps@0
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    imageToDeploy: mcr.microsoft.com/azuredocs/containerapps-helloworld:latest

그러면 새 이미지가 빌드되지 않은 새 리소스 그룹에 라는 ado-task-app-<build-id>-<build-number><container-app-name>-rg 새 Container App이 만들어지지만 이라는 mcr.microsoft.com/azuredocs/containerapps-helloworld:latest 기존 이미지가 컨테이너 앱에 사용됩니다.

최소 - 컨테이너 앱에 대해 이전에 게시된 이미지와 함께 YAML 구성 파일 사용

steps:
- task: AzureContainerApps@0
  displayName: Build and deploy Container App
  inputs:
    yamlConfigPath: simple-image-container-app.yaml

그러면 새 이미지가 빌드되지 않은 새 리소스 그룹에 라는 ado-task-app-<build-id>-<build-number><container-app-name>-rg 새 Container App이 만들어지지만 이라는 mcr.microsoft.com/azuredocs/containerapps-helloworld:latest 기존 이미지가 컨테이너 앱에 사용됩니다. 컨테이너 앱에 대한 추가 속성은 파일에서 simple-image-container-app.yaml 끌어오고 를 제외한 resourceGroup인수로 작업에 제공된 추가 값을 재정의합니다.

simple-image-container-app.yaml 파일에는 다음과 같은 구조가 있습니다.

properties:
  managedEnvironmentId: /subscriptions/SUBSCRIPTION_ID/resourceGroup/RESOURCE_GROUP/providers/Microsoft.App/managedEnvironments/CONTAINER_APP_ENVIRONMENT
  configuration:
    ingress:
      external: true
      allowInsecure: false
      targetPort: 80
  template:
    containers:
      - image: mcr.microsoft.com/azuredocs/containerapps-helloworld:latest
        name: mysampleimagecontainer

컨테이너 앱에서 사용할 기존 컨테이너 앱 환경의 전체 리소스 ID를 가리키도록 및 RESOURCE_GROUPCONTAINER_APP_ENVIRONMENT 의 값을 SUBSCRIPTION_ID업데이트해야 합니다.

ACR 자격 증명을 사용하여 인증

steps:
- task: AzureContainerApps@0
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    acrUsername: $(ACR_USERNAME_SECRET)
    acrPassword: $(ACR_PASSWORD_SECRET)

그러면 라는 <container-app-name>-rg새 리소스 그룹에 라는 ado-task-app-<build-id>-<build-number> 새 컨테이너 앱이 만들어질 것입니다. 컨테이너 앱은 제공된 에서 빌드되고 제공된 appSourcePath ACR instance 푸시된 이미지를 기반으로 합니다. 제공된 ACR 자격 증명은 ACR instance 대한 호출을 인증하는 데 사용됩니다.

제공된 컨테이너 앱 이름

steps:
- task: AzureContainerApps@0
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppName: 'my-test-container-app'

그러면 새 리소스 그룹 이름 my-test-container-app-rg에 이라는 my-test-container-app 새 컨테이너 앱이 만들어질 것입니다.

제공된 리소스 그룹

steps:
- task: AzureContainerApps@0
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    resourceGroup: 'my-test-rg'

그러면 라는 my-test-rg리소스 그룹에 라는 ado-task-app-<build-id>-<build-number> 새 컨테이너 앱이 만들어질 것입니다. my-test-rg 리소스 그룹이 없으면 이 작업의 일부로 생성됩니다.

제공된 컨테이너 앱 이름 및 리소스 그룹

steps:
- task: AzureContainerApps@0
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppName: 'my-test-container-app'
    resourceGroup: 'my-test-rg'

그러면 라는 my-test-rg리소스 그룹에 라는 my-test-container-app 새 컨테이너 앱이 만들어질 것입니다. my-test-rg 리소스 그룹이 없으면 이 작업의 일부로 생성됩니다.

제공된 컨테이너 앱 환경

steps:
- task: AzureContainerApps@0
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    containerAppEnvironment: 'my-test-container-app-env'

그러면 라는 새 Container App 환경my-test-container-app-env이 있는 라는 새 리소스 그룹에 라는 ado-task-app-<build-id>-<build-number><container-app-name>-rg 새 Container App이 만들어질 것입니다.

제공된 런타임 스택

steps:
- task: AzureContainerApps@0
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    runtimeStack: 'dotnetcore:7.0'

그러면 실행 가능한 애플리케이션 이미지가 .NET 7 런타임 스택을 사용하는 새 리소스 그룹에 라는 ado-task-app-<build-id>-<build-number><container-app-name>-rg 새 Container App이 만들어집니다.

제공된 Dockerfile

steps:
- task: AzureContainerApps@0
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    dockerfilePath: 'test.Dockerfile'

그러면 제공된 애플리케이션 원본 경로 디렉터리에 있는 파일에서 test.Dockerfile 실행 가능한 애플리케이션 이미지를 만든 새 리소스 그룹에 라는 ado-task-app-<build-id>-<build-number><container-app-name>-rg 새 Container App이 만들어집니다.

참고: 에 제공된 값의 dockerfilePath경우 파일 접두사를 포함해서는 안 됩니다(예:./test.Dockerfile 를 단지 test.Dockerfile로 전달해야 합니다). 제공된 appSourcePathdockerfilePath 인수는 작업 내부에 연결됩니다.

빌드할 이미지 제공

steps:
- task: AzureContainerApps@0
  displayName: Build and deploy Container App
  inputs:
    connectedServiceNameARM: 'azure-subscription-service-connection'
    appSourcePath: '$(System.DefaultWorkingDirectory)'
    acrName: 'mytestacr'
    imageToBuild: 'mytestacr.azurecr.io/app:latest'

그러면 라는 새 리소스 그룹에 라는 ado-task-app-<build-id>-<build-number><container-app-name>-rg 새 Container App이 만들어집니다. 여기서 ACR로 빌드되고 푸시된 이미지의 이름은 mytestacr.azurecr.io/app:latest입니다.

요구 사항

요구 사항 Description
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
실행 중 에이전트, DeploymentGroup
요청 없음
Capabilities 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다.
명령 제한 사항 모두
설정 가능한 변수 모두
에이전트 버전 2.144.0 이상
작업 범주 배포

추가 정보