연습 - GitHub 워크플로에서 Bicep 파일 배포

완료됨

GitHub Actions는 본질적으로 Azure Pipelines와 비슷합니다. 소프트웨어 개발 및 배포를 자동화하는 방법을 제공합니다. 이 연습에서는 GitHub Action을 사용하여 Bicep 파일을 배포하는 방법을 알아봅니다.

사전 요구 사항

Azure에서 서비스 주체 만들기

Azure에 리소스를 배포하려면 GitHub을 사용할 수 있는 서비스 주체를 만들어야 합니다. 따라서 터미널을 열거나 Azure Portal에서 Cloud Shell을 사용하여 다음 명령을 입력합니다.

az login
az ad sp create-for-rbac --name myApp --role contributor --scopes /subscriptions/{subscription-id}/resourceGroups/Bicep --sdk-auth

참고

구독 ID를 사용자의 것으로 바꾸는 것을 잊지 마세요.

작업이 성공하면 tenantId, subscriptionId, clientId, clientSecret, 다음과 같은 몇 가지 추가 속성이 포함된 JSON 개체를 출력해야 합니다.

{
    "clientId": "<GUID>",
    "clientSecret": "<GUID>",
    "subscriptionId": "<GUID>",
    "tenantId": "<GUID>",
    (...)
}

이 개체를 GitHub 비밀에 추가해야 하므로 이 개체를 기록해 두세요.

GitHub 비밀 만들기

GitHub 리포지토리에서 설정>비밀>작업으로 이동합니다. AZURE_CREDENTIALS라는 새 비밀을 만들고 이전 단계에서 가져온 전체 JSON 개체를 붙여넣습니다.

리소스 그룹 이름에 대해 AZURE_RG와 같은 이름과 구독에 대한 또 다른 비밀을 만듭니다.

GitHub 비밀 만들기 및 관리 페이지의 스크린샷.입니다.

GitHub 작업 만들기

  1. 먼저 리포지토리로 이동하여 작업 메뉴를 선택합니다. 그런 다음, 워크플로를 설정하여 리포지토리에 빈 워크플로를 만듭니다. 원하는 경우 파일 이름을 다른 이름으로 바꿀 수 있습니다.

    GitHub 새 파일 만들기, 편집 및 미리 보기의 스크린샷입니다.

  2. 파일 내용을 다음 코드 조각으로 바꿉니다.

    on: [push]
    name: Azure ARM
    jobs:
        build-and-deploy:
            runs-on: ubuntu-latest
            steps:
                # Checkout code
                - uses: actions/checkout@main
    
                  # Log into Azure
                - uses: azure/login@v1
                  with:
                      creds: ${{ secrets.AZURE_CREDENTIALS }}
    
                  # Deploy Bicep file
                - name: deploy
                  uses: azure/arm-deploy@v1
                  with:
                      subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }}
                      resourceGroupName: ${{ secrets.AZURE_RG }}
                      template: ./main.bicep
                      parameters: storagePrefix=stg
                      failOnStdErr: false
    

    스토리지 계정 접두사는 사용자 고유의 접두사로 자유롭게 바꿀 수 있습니다.

    참고

    워크플로의 첫 번째 부분은 트리거와 이름을 정의합니다. 나머지는 작업을 정의하고 몇 가지 작업을 사용하여 코드를 확인하고, Azure에 로그인하고, Bicep 파일을 배포합니다.

  3. 커밋 시작을 선택하고 팝업 대화 상자에 제목과 설명을 입력합니다. 그런 다음, 기본 분기에 직접 커밋을 선택한 다음, 새 파일을 커밋합니다.

    GitHub가 주 분기에 새 파일을 커밋하는 스크린샷입니다.

  4. 작업 탭으로 돌아가서 실행해야 하는 새로 만든 작업을 선택합니다.

    실행하고 배포하는 GitHub 작업의 스크린샷입니다.

  5. 상태를 모니터링하고 작업이 완료되면 Azure Portal을 확인하여 스토리지 계정이 생성되고 있는지 확인합니다.

    작업이 성공적으로 실행된 GitHub 작업의 스크린샷입니다.