GitHub Actions는 소프트웨어 개발 워크플로를 자동화하는 데 도움이 되는 GitHub의 기능입니다. 소스 코드가 GitHub 리포지토리에 저장된 경우 GitHub Actions에서 사용자 지정 워크플로를 만들어 코드 프로젝트를 빌드, 테스트, 패키지, 릴리스 또는 배포할 수 있습니다.
이 문서에서는 GitHub Actions를 사용하여 CI/CD 워크플로를 만들고 Stream Analytic 작업을 Azure에 배포하는 방법을 알아봅니다. 따라서 다음에 GitHub 리포지토리를 변경할 때 워크플로를 자동으로 트리거하고 Stream Analytics 프로젝트를 Azure에 배포합니다.
필수 조건
시작하기 전에 다음 필수 조건을 충족해야 합니다.
- 활성 구독이 있는 Azure 계정.
- GitHub 리포지토리를 구성하고, 워크플로를 만들고, GitHub 비밀을 구성하는 GitHub 계정.
- PowerShell에서
az명령을 실행합니다. 이 가이드에 따라 로컬 컴퓨터에 Azure CLI(명령줄 인터페이스)를 설치하거나 업데이트합니다.
1단계: GitHub 리포지토리에 Stream Analytics 프로젝트 푸시
VS Code(Visual Studio Code)용 Azure Stream Analytics 확장을 사용하여 Stream Analytics 프로젝트를 관리합니다. 설치하지 않은 경우 이 가이드를 따릅니다.
Azure Portal에서 쿼리 편집기로 이동하여 VS Code에서 열기를 선택합니다.
완료되면 VS Code 작업 영역에 Stream Analytics 프로젝트가 표시됩니다.
Ctrl+J를 눌러 VS Code에서 터미널을 엽니다. git 명령을 입력하여 GitHub 리포지토리에 프로젝트를 푸시합니다.
2단계: GitHub에서 비밀 설정
Stream Analytics 작업을 배포하려면 3개 이상의 GitHub 비밀을 만들어야 합니다. Azure 자격 증명에 대한 하나의 비밀과 입력/출력 Azure 리소스에 대한 비밀입니다.
GitHub 리포지토리로 이동하여 설정 탭을 선택합니다. 왼쪽 메뉴에서 비밀 및 변수> 작업을 선택하고 새 리포지토리 비밀을 선택하여 새 비밀을 만듭니다.
Azure 자격 증명에 대한 비밀을 만듭니다. PowerShell을 열고 다음 명령을 실행합니다. 그런 다음 출력 JSON을 비밀 값에 복사합니다.
{subscription-id} 및 {resource-group}을 Azure 리소스로 대체합니다. Azure CLI의 최신 버전을 사용하고 있는지 확인합니다.
az login az ad sp create-for-rbac --name "myApp" --role contributor --scopes /subscriptions/{subscription-id}/resourceGroups/{resource-group} --json-authAZURE_CREDENTIALS와 같은 비밀 이름을 입력하고 출력 JSON을 비밀 값에 복사합니다. 그런 다음 비밀 추가를 선택합니다.서비스 주체 암호와 함께 Azure 로그인 작업을 사용하는 방법에 대한 자세한 내용은 여기를 참조 하세요.
입력 및 출력 리소스에 대한 비밀을 만듭니다. 둘 이상의 입력/출력 리소스의 경우 각 Azure 리소스에 대한 비밀을 각각 만들어야 합니다.
완료되면 GitHub 리포지토리에 대해 세 개 이상의 비밀을 만들어야 합니다.
3단계: GitHub Actions를 사용하여 워크플로 만들기
작업 탭으로 이동하여 새 워크플로>직접 워크플로 설정을 선택합니다.
이 템플릿을 YAML 파일에 복사하고 매개 변수를 편집합니다.
PROJECT_NAME: Stream Analytics 작업의 이름입니다.
OUTPUT_PATH: 그대로 둡니다.
TARGET_RESOURCE_GROUP: Azure 리소스 그룹입니다.
LOCATION: 배포를 위한 Azure 지역입니다. 사용 가능한 지역은 여기에서 확인할 수 있습니다.
OVERRIDE_PARAMETERS: Azure 리소스에 대한 자격 증명입니다. 자격 증명을 올바르게 구문 분석하려면 매개 변수를 다음 형식의 키-값 쌍으로 설정해야 합니다.
# Inputs_ehinput_DataSource_SharedAccessPolicyKey # \____/ \_____/ \________/ \__________________/ # | | | # input/output name credential name예를 들어 Event Hubs 입력 및 Blob Storage 출력의 경우 키는 다음이어야 합니다.
Inputs_ClickStream_DataSource_SharedAccessPolicyKey=${{ secrets.ASA_INPUT }} Outputs_BlobOutput_DataSource_AccountKey=${{ secrets.ASA_OUTPUT }}다음은 Azure 리소스 유형에서 자격 증명 이름으로의 매핑입니다.
리소스 유형 자격 증명 이름 Azure Event Hubs, Azure IoT Hub, Azure Service Bus SharedAccessPolicyKey Azure Blob Storage, Azure Cosmos DB, Azure Table Storage AccountKey Azure 함수 ApiKey Azure SQL Database, Azure Synapse Analytics 암호
변경 내용을 저장하고 기본 분기에 커밋합니다. 그런 다음 작업으로 이동하여 워크플로 실행을 선택합니다. 워크플로의 진행률을 모니터링할 수 있습니다.
완료되면 Azure Portal에서 실행되기 시작한 Stream Analytics 작업을 확인할 수 있습니다. 다음에 기본 분기에 변경 내용을 푸시할 때 GitHub Actions의 워크플로가 자동으로 트리거됩니다.
축하합니다! GitHub에서 워크플로를 성공적으로 만들고 Stream Analytics 프로젝트를 Azure에 배포했습니다. 이 워크플로를 사용하면 변경 내용이 GitHub 리포지토리의 기본 분기에 푸시될 때마다 Stream Analytics 프로젝트가 Azure에 자동으로 빌드, 테스트, 게시 및 배포할 수 있습니다.










