다음을 통해 공유


빠른 시작: Azure Container Apps에 아티팩트 파일 배포(미리 보기)

이 빠른 시작에서는 미리 빌드된 아티팩트 파일에서 컨테이너 앱을 배포하는 방법을 알아봅니다. 이 문서의 예에서는 Java 관련 매니페스트 파일이 포함된 JAR 파일을 사용하여 Java 애플리케이션을 배포합니다. 음악 앨범의 정적 컬렉션을 반환하는 백 엔드 웹 API 서비스를 만들어야 합니다. 이 빠른 시작을 완료한 후 계속해서 마이크로 서비스 간 통신을 진행하여 API를 호출하는 프런트 엔드 애플리케이션을 배포하는 방법을 알아볼 수 있습니다.

다음 스크린샷은 배포하는 앨범 API 서비스의 출력을 보여 줍니다.

앨범 API 엔드포인트의 응답 스크린샷.

필수 조건

요구 사항 지침
Azure 계정 계정이 없으면 무료 계정을 만듭니다. 계속 진행하려면 Azure 구독에 대한 기여자 또는 소유자 권한이 필요합니다.

자세한 내용은 Azure Portal을 사용하여 Azure 역할 할당을 참조하세요.
GitHub 계정 평가판을 가져올 수 있습니다.
git git 설치
Azure CLI Azure CLI를 설치합니다.
Java JDK 설치(17 이상 권장)
Maven Maven을 설치합니다.

설정

CLI에서 Azure에 로그인하려면 다음 명령을 실행하고 프롬프트에 따라 인증 프로세스를 완료합니다.

az login

최신 버전의 CLI를 실행하고 있는지 확인하려면 업그레이드 명령을 실행합니다.

az upgrade

그런 다음 CLI용 Azure Container Apps 확장을 설치하거나 업데이트합니다.

Azure CLI에서 az containerapp 명령을 실행하거나 Azure PowerShell의 Az.App 모듈에서 cmdlet을 실행할 때 누락된 매개 변수에 대한 오류가 발생하는 경우 최신 버전의 Azure Container Apps 확장이 설치되어 있어야 합니다.

az extension add --name containerapp --upgrade

참고 항목

2024년 5월부터 Azure CLI 확장 기능은 기본적으로 미리 보기 기능을 사용하도록 설정하지 않습니다. Container Apps 미리 보기 기능에 액세스하려면 --allow-preview true를 사용하여 Container Apps 확장을 설치합니다.

az extension add --name containerapp --upgrade --allow-preview true

이제 현재 확장 또는 모듈이 설치되었으므로 Microsoft.AppMicrosoft.OperationalInsights 네임스페이스를 등록합니다.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

환경 변수 만들기

이제 Azure CLI 설정이 완료되었으므로 이 문서 전체에서 사용되는 환경 변수를 정의할 수 있습니다.

bash 셸에서 다음 변수를 정의합니다.

RESOURCE_GROUP="album-containerapps"
LOCATION="canadacentral"
ENVIRONMENT="env-album-containerapps"
API_NAME="album-api"
SUBSCRIPTION=<YOUR_SUBSCRIPTION_ID>

필요한 경우 구독 ID를 쿼리할 수 있습니다.

az account list --output table

GitHub 리포지토리 준비

샘플 리포지토리를 복제하는 것부터 시작합니다.

다음 git 명령을 사용하여 샘플 앱을 code-to-cloud 폴더에 복제합니다.

git clone https://github.com/azure-samples/containerapps-albumapi-java code-to-cloud
cd code-to-cloud

JAR 파일 빌드

참고 항목

Java 샘플은 실행 가능한 JAR 파일을 생성하는 Maven 빌드만 지원합니다. 환경 변수 전달이 지원되지 않으므로 빌드에서는 기본 설정을 사용합니다.

Maven을 사용하여 프로젝트를 빌드합니다.

mvn clean package -DskipTests

로컬로 프로젝트 실행

java -jar target\containerapps-albumapi-java-0.0.1-SNAPSHOT.jar

애플리케이션이 실행 중인지 확인하려면 브라우저를 열고 http://localhost:8080/albums로 이동합니다. 페이지는 JSON 개체 목록을 반환합니다.

아티팩트 배포

containerapp up 명령을 사용하여 로컬 JAR 파일에서 첫 번째 컨테이너 앱을 빌드하고 배포합니다.

이 명령은 다음을 수행합니다.

  • 리소스 그룹을 만듭니다.
  • Azure Container Registry를 만듭니다.
  • 컨테이너 이미지를 빌드하고 레지스트리에 푸시합니다.
  • Log Analytics 작업 영역을 사용하여 Container Apps 환경 만들기
  • 공용 컨테이너 이미지를 사용하여 컨테이너 앱을 만들고 배포합니다.

up 명령은 리포지토리의 루트에 있는 Docker 파일을 사용하여 컨테이너 이미지를 빌드합니다. Docker 파일의 EXPOSE 명령은 대상 포트를 정의합니다. 그러나 컨테이너 앱을 빌드하는 데 Docker 파일이 필요하지는 않습니다.

참고 항목

참고: Docker가 없는 코드베이스와 함께 containerapp up을 사용하는 경우 애플리케이션이 미국 동부가 아닌 위치에서 실행되도록 --location 매개 변수를 사용합니다.

az containerapp up \
  --name $API_NAME \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --artifact ./target/containerapps-albumapi-java-0.0.1-SNAPSHOT.jar \
  --ingress external \
  --target-port 8080 \
  --subscription $SUBSCRIPTION

배포 확인

FQDN을 웹 브라우저에 복사합니다. 웹 브라우저에서 FQDN의 /albums 엔드포인트로 이동합니다.

앨범 API 엔드포인트의 응답 스크린샷.

WAR 파일 배포

WAR 파일에서 컨테이너 앱을 배포할 수도 있습니다.

리소스 정리

이 애플리케이션을 계속 사용하지 않으려면 리소스 그룹을 제거하여 Azure Container Apps 인스턴스 및 모든 관련 서비스를 삭제할 수 있습니다.

만든 리소스를 제거하려면 다음 단계를 따릅니다.

az group delete \
  --resource-group $RESOURCE_GROUP

문제가 있나요? Azure Container Apps 리포지토리에서 문제를 열어 GitHub에 알려주세요.

다음 단계