빠른 시작: Azure Pipelines와 Bicep 통합

이 빠른 시작에서는 CI/CD(연속 통합 및 지속적인 배포)를 위해 Azure Pipelines와 Bicep 파일을 통합하는 방법을 보여줍니다.

Bicep 파일을 배포하는 데 필요한 파이프라인 작업에 대한 간략한 소개를 제공합니다. 파이프라인 및 프로젝트 설정에 대한 자세한 단계는 Bicep 및 Azure Pipelines를 사용하여 Azure 리소스 배포를 참조하세요.

필수 조건

Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

Azure DevOps 조직이 필요합니다. 계정이 없는 경우 체험 계정을 만듭니다. 팀에 이미 Azure DevOps 조직이 있는 경우 사용할 Azure DevOps 프로젝트의 관리자인지 확인합니다.

Azure 구독에 대한 서비스 연결을 구성해야 합니다. 파이프라인의 작업은 서비스 주체의 ID로 실행됩니다. 연결을 만드는 단계는 DevOps 프로젝트 만들기를 참조하세요.

프로젝트의 인프라를 정의하는 Bicep 파일이 필요합니다. 이 파일은 리포지토리에 있습니다.

bicep 파일에 사용되는 매개 변수를 정의하는 bicepparam 파일이 필요합니다. 이 파일은 리포지토리에 있습니다.

파이프라인 만들기

  1. Azure DevOps 조직에서 파이프라인파이프라인 만들기를 선택합니다.

    새 파이프라인 만들기의 스크린샷

  2. 코드를 저장할 위치를 지정합니다. 이 빠른 시작에서는 Azure Repos Git을 사용합니다.

    코드 소스 선택 스크린샷

  3. 프로젝트에 대한 코드를 포함하는 리포지토리를 선택합니다.

    리포지토리 선택 스크린샷

  4. 만들 파이프라인 유형에 시작 파이프라인을 선택합니다.

    파이프라인 선택 스크린샷

Bicep 파일 배포

Azure 리소스 그룹 배포 작업 또는 Azure CLI 작업을 사용하여 Bicep 파일을 배포할 수 있습니다.

Azure Resource Manager 템플릿 배포 작업 사용

참고 항목

Azure Resource Manager 템플릿 배포 작업의 버전 3.235.0을 기준으로 bicepparam 파일의 사용이 지원됩니다.

참고 항목

이 작업에는 AzureResourceManagerTemplateDeployment@3 bicepparam을 사용할 때 Bicep 및 bicepparam 파일이 모두 제공되어야 합니다. Bicep 파일은 모듈 참조에 대해 지원되는 모든 위치를 참조할 수 있습니다. bicepparam 파일은 문의 로컬 Bicep 파일을 using 참조해야 합니다.

  1. 시작 파이프라인을 다음 YAML로 바꿉니다. 리소스 그룹을 만들고 Azure Resource Manager 템플릿 배포 작업을 사용하여 Bicep 및 bicepparam 파일을 배포합니다.

    trigger:
    - main
    
    name: Deploy Bicep files
    
    parameters:
    - name: azureServiceConnection
      type: string
      default: '<your-connection-name>'
    
    variables:
      vmImageName: 'ubuntu-latest'
      resourceGroupName: 'exampleRG'
      location: '<your-resource-group-location>'
      templateFile: './main.bicep'
      csmParametersFile: './main.bicepparam'
    
    pool:
      vmImage: $(vmImageName)
    
    steps:
    - task: AzureResourceManagerTemplateDeployment@3
      inputs:
        deploymentScope: 'Resource Group'
        azureSubscription: '${{ parameters.azureServiceConnection }}'
        action: 'Create Or Update Resource Group'
        resourceGroupName: '$(resourceGroupName)'
        location: '$(location)'
        templateLocation: 'Linked artifact'
        csmFile: '$(templateFile)'
        csmParametersFile: '$(csmParametersFile)'
        overrideParameters: '-storageAccountType Standard_LRS'
        deploymentMode: 'Incremental'
        deploymentName: 'DeployPipelineTemplate'
    
  2. azureServiceConnectionlocation 값을 업데이트합니다.

  3. 리포지토리에 유효한 main.bicep 파일이 있는지 확인합니다.

  4. using 문을 포함하는 유효한 main.bicepparam 파일이 리포지토리에 있는지 확인합니다.

  5. 저장을 선택합니다. 빌드 파이프라인이 자동으로 실행됩니다. 빌드 파이프라인의 요약으로 돌아가서 상태를 확인합니다.

Azure CLI 작업 사용

참고 항목

az deployment group create 명령에는 bicepparam 파일만 필요합니다. bicepparam 파일의 문은 using 지원되는 모든 위치를 대상으로 Bicep 파일을 참조할 수 있습니다. Bicep 파일은 Azure CLI를 사용하는 로컬 디스크 경로에서만 리포지 using 토리에 필요합니다.

참고 항목

az deployment group create 명령과 함께 bicepparam 파일을 사용하는 경우 매개 변수를 재정의할 수 없습니다.

  1. 시작 파이프라인을 다음 YAML로 바꿉니다. 리소스 그룹을 만들고 Azure CLI 작업을 사용하여 bicepparam 파일을 배포합니다.

    trigger:
    - main
    
    name: Deploy Bicep files
    
    parameters:
      azureServiceConnection: '<your-connection-name>'
    
    variables:
      vmImageName: 'ubuntu-latest'
      resourceGroupName: 'exampleRG'
      location: '<your-resource-group-location>'
      bicepParamFile: './main.bicepparam'
    
    pool:
      vmImage: $(vmImageName)
    
    steps:
    - task: AzureCLI@2
      inputs:
        azureSubscription: '${{ parameters.azureServiceConnection }}'
        scriptType: bash
        scriptLocation: inlineScript
        useGlobalConfig: false
        inlineScript: |
          az --version
          az group create --name $(resourceGroupName) --location $(location)
          az deployment group create `
            --resource-group $(resourceGroupName) `
            --parameters $(bicepParamFile) `
            --name DeployPipelineTemplate
    

    작업 입력에 대한 설명은 Azure CLI 작업을 참조하세요. 에어 갭 클라우드에서 작업을 사용하는 경우 작업의 useGlobalConfig 속성을 true로 설정해야 합니다. 기본값은 false입니다.

  2. azureServiceConnectionlocation 값을 업데이트합니다.

  3. using 문을 포함하는 유효한 main.bicepparam 파일이 리포지토리에 있는지 확인합니다.

  4. 저장을 선택합니다. 빌드 파이프라인이 자동으로 실행됩니다. 빌드 파이프라인의 요약으로 돌아가서 상태를 확인합니다.

리소스 정리

Azure 리소스가 더 이상 필요 없으면 Azure CLI 또는 Azure PowerShell을 사용하여 빠른 시작 리소스 그룹을 삭제합니다.

az group delete --name exampleRG

다음 단계