Table of Contents
클라우드 리소스의 자동화된 배포는 현대 IT 운영의 핵심 부분이 되었습니다. GitHub Actions와 같은 도구를 사용하여 Azure 리소스 간소화 워크플로우를 배포하고, 수동 오류를 줄이고 프로젝트 전달을 가속화합니다. 이 문서는 GitHub Actions를 사용하여 Azure 리소스의 자동화된 배포를 구현하는 방법을 탐구합니다.
Basics에 대한 이해
GitHub Actions는 개발자가 GitHub 저장소에서 직접 워크플로우를 자동화할 수 있도록 지속적인 통합 및 지속적인 배포(CI/CD) 플랫폼입니다. Azure, Microsoft의 클라우드 플랫폼은 가상 머신, 데이터베이스, 앱 서비스 등 다양한 리소스를 제공하여 스크립트 및 API를 통해 자동으로 제공될 수 있습니다.
관련 상품
- 필요한 권한이있는 Azure 계정
- GitHub 저장소
- Azure CLI는 초기 설정에 로컬로 설치
- Azure에 할당된 Contributor 역할과 서비스
Azure Service Principal 설정
먼저, GitHub Actions를 Azure로 인증할 수 있도록 서비스 Principal을 만듭니다. Azure CLI를 사용하십시오.
] ]] ]] ]] ]] ] ] ] ] ] ] ] ] ]] ] ]] ]] ] ]
appId, password], ]]tenant] 를 참고하세요. GitHub의 비밀로 추가될 것입니다.
GitHub 비밀 구성
GitHub 저장소에 Navigate, 다음 설정 > 비밀 > 행동. 다음 비밀을 추가:
- AZURE CLIENT ID: 당신의 appId
- AZURE SECRET: 귀하의 암호
- AZURE TENANT ID: 당신의 연산
- AZURE SUBSCRIPTION ID: 귀하의 구독 ID
GitHub Actions Workflow 만들기
저장소에서 ]에서 새로운 워크플로 파일을 만듭니다. 이 파일은 Azure 리소스를 자동으로 배포하는 단계를 정의합니다.
name: Deploy Azure Resources
on:
push:
branches:
- main
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Login to Azure
uses: azure/login@v1
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
client-secret: ${{ secrets.AZURE_SECRET }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
- name: Deploy Resources
run: |
az account set --subscription ${{ secrets.AZURE_SUBSCRIPTION_ID }}
az deployment group create \
--resource-group myResourceGroup \
--template-file azuredeploy.json \
--parameters @azuredeploy.parameters.json
이 워크플로우는 Azure로 로그인하고 ARM 템플릿을 기반으로 리소스를 배포합니다. 특정 리소스 프로비저닝 요구에 맞게 배포 명령을 사용자 정의할 수 있습니다.
자동화된 Deployment의 이점
- 일관된 반복 가능한 배포
- 자원의 더 빠른 제공
- 수동 오류 감소
- 협력 및 추적 향상
GitHub Actions와 Azure를 사용하여 자동화된 배포 파이프라인을 구현하여 DevOps 관행을 크게 향상시키고 신뢰할 수 있고 효율적인 클라우드 리소스 관리가 가능합니다.