AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

Azure AI Foundry 튜토리얼 – GitHub Action으로 Hosted Agent 반복 배포하기

Azure AI Foundry Hosted Agent를 GitHub Action으로 배포하면 기존 코드 배포 파이프라인에 에이전트 배포를 자연스럽게 통합할 수 있다. 빠르고 반복 가능하며, 기존 도구와 프로세스를 최소한으로 수정한다.

이 글은 REST API로 Foundry Hosted Agent 배포하기 글의 후속편으로, GitHub Action을 이용한 자동화에 초점을 맞춘다.

사전 요구 사항

GitHub Action을 실행하기 전에 다음이 갖춰져 있어야 한다.

  • 모델이 배포된 기존 Microsoft Foundry 프로젝트
  • Azure Container Registry(ACR)에 푸시된 컨테이너 이미지
  • Foundry 프로젝트에 대한 Foundry User 역할을 가진 ID (자세한 내용: hosted agent permissions)

배포 워크플로 개요

  1. ACR에 컨테이너 이미지 푸시 (빌드 파이프라인)
  2. Foundry 프로젝트에 인증 (OIDC 또는 서비스 주체)
  3. GitHub Action으로 Hosted Agent 생성 또는 업데이트
  4. 상태 확인 및 배포 검증

GitHub Action 설정

1. 시크릿 및 환경 변수 설정

GitHub 저장소에 다음 시크릿을 추가한다.

AZURE_CLIENT_ID
AZURE_TENANT_ID
AZURE_SUBSCRIPTION_ID
FOUNDRY_PROJECT_ID
ACR_IMAGE_URL

2. 워크플로 파일 작성

# .github/workflows/deploy-hosted-agent.yml
name: Deploy Hosted Agent

on:
  push:
    branches: [main]
  workflow_dispatch:

permissions:
  id-token: write
  contents: read

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Azure Login (OIDC)
        uses: azure/login@v2
        with:
          client-id: ${{ secrets.AZURE_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

      - name: Deploy Hosted Agent
        run: |
          az rest --method PUT \
            --url "https://management.azure.com/subscriptions/${{ secrets.AZURE_SUBSCRIPTION_ID }}/resourceGroups/<rg>/providers/Microsoft.MachineLearningServices/workspaces/<workspace>/agents/<agent-name>?api-version=2026-04-01" \
            --body @agent-config.json

3. 에이전트 설정 파일

{
  "properties": {
    "displayName": "My Hosted Agent",
    "containerImage": "${{ env.ACR_IMAGE_URL }}",
    "model": {
      "modelId": "gpt-4o"
    }
  }
}

배포 전략

블루-그린 배포

새 버전의 에이전트 이미지를 스테이징 슬롯에 배포하고 검증 후 프로덕션으로 전환한다.

롤백

이전 버전의 ACR 이미지 태그로 워크플로를 재실행해 빠르게 롤백한다.

모범 사례

  • 이미지 태그: :latest 대신 커밋 SHA 또는 버전 태그를 사용해 배포 재현성 확보
  • 환경 분리: dev/staging/prod용 Foundry 프로젝트를 분리하고 각 환경에 맞는 시크릿 관리
  • 최소 권한: 배포 ID에는 Foundry User 역할만 부여
  • 배포 검증: 배포 후 헬스체크 엔드포인트로 에이전트 정상 동작 확인

참고 자료

azure-ai-foundry — Azure AI Foundry 전체 개요 microsoft-foundry-ai-tips-security — Foundry 에이전트 보안 원칙



AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)