Szybki start: integracja rozwiązania Bicep z usługą Azure Pipelines

W tym przewodniku Szybki start pokazano, jak zintegrować pliki Bicep z usługą Azure Pipelines w celu ciągłej integracji i ciągłego wdrażania (CI/CD).

Zawiera krótkie wprowadzenie do zadania potoku potrzebnego do wdrożenia pliku Bicep. Jeśli chcesz uzyskać bardziej szczegółowe instrukcje dotyczące konfigurowania potoku i projektu, zobacz Wdrażanie zasobów platformy Azure przy użyciu platformy Bicep i usługi Azure Pipelines.

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Potrzebna jest organizacja usługi Azure DevOps. Jeśli go nie masz, utwórz go bezpłatnie. Jeśli Twój zespół ma już organizację usługi Azure DevOps, upewnij się, że jesteś administratorem projektu usługi Azure DevOps, którego chcesz użyć.

Musisz skonfigurować połączenie usługi z subskrypcją platformy Azure. Zadania w potoku są wykonywane w ramach tożsamości jednostki usługi. Aby uzyskać instrukcje tworzenia połączenia, zobacz Tworzenie projektu DevOps.

Potrzebny jest plik Bicep, który definiuje infrastrukturę projektu. Ten plik znajduje się w repozytorium.

Potrzebny jest plik bicepparam, który definiuje parametry używane przez plik bicep. Ten plik znajduje się w repozytorium.

Tworzenie potoku

  1. W organizacji usługi Azure DevOps wybierz pozycję Potoki i Utwórz potok.

    Zrzut ekranu przedstawiający tworzenie nowego potoku.

  2. Określ miejsce przechowywania kodu. W tym przewodniku Szybki start użyto usługi Azure Repos Git.

    Zrzut ekranu przedstawiający wybieranie źródła kodu.

  3. Wybierz repozytorium zawierające kod projektu.

    Zrzut ekranu przedstawiający wybieranie repozytorium.

  4. Wybierz pozycję Potok początkowy dla typu potoku do utworzenia.

    Zrzut ekranu przedstawiający wybieranie potoku.

Wdrażanie plików Bicep

Aby wdrożyć plik Bicep, możesz użyć zadania rozmieszczania grupy zasobów platformy Azure lub zadania interfejsu wiersza polecenia platformy Azure.

Korzystanie z zadania wdrażania szablonu usługi Azure Resource Manager

Uwaga

Od wersji 3.235.0 zadania wdrażania szablonu usługi Azure Resource Manager jest obsługiwane użycie plików bicepparam .

Uwaga

Zadanie AzureResourceManagerTemplateDeployment@3 wymaga podania plików Bicep i bicepparam podczas korzystania z parametru bicepparam. Plik Bicep może odwoływać się do wszystkich obsługiwanych lokalizacji dla odwołań do modułów. Plik bicepparam musi odwoływać się do lokalnego pliku Bicep w instrukcji using .

  1. Zastąp potok początkowy następującym kodem YAML. Tworzy grupę zasobów i wdraża plik Bicep i bicepparam przy użyciu zadania wdrażania szablonu usługi Azure Resource Manager.

    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. Zaktualizuj wartości i azureServiceConnectionlocation.

  3. Sprawdź, czy masz prawidłowy main.bicep plik w repozytorium.

  4. Sprawdź, czy w repozytorium znajduje się prawidłowy main.bicepparam plik zawierający instrukcję using .

  5. Wybierz pozycję Zapisz. Potok kompilacji jest uruchamiany automatycznie. Wróć do podsumowania potoku kompilacji i obejrzyj stan.

Korzystanie z zadania interfejsu wiersza polecenia platformy Azure

Uwaga

Polecenie az deployment group create wymaga tylko pliku bicepparam. Instrukcja using w pliku bicepparam może być skierowana do dowolnej obsługiwanej lokalizacji w celu odwołania się do pliku Bicep. Plik Bicep jest wymagany tylko w repozytorium, gdy using ze ścieżki dysku lokalnego za pomocą interfejsu wiersza polecenia platformy Azure.

Uwaga

Jeśli używasz pliku bicepparam z poleceniem az deployment group create, nie można zastąpić parametrów.

  1. Zastąp potok początkowy następującym kodem YAML. Tworzy grupę zasobów i wdraża plik bicepparam przy użyciu zadania interfejsu wiersza polecenia platformy Azure:

    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
    

    Opisy danych wejściowych zadań można znaleźć w temacie Zadanie interfejsu wiersza polecenia platformy Azure. W przypadku korzystania z zadania w chmurze rozszytej w powietrzu należy ustawić useGlobalConfig właściwość zadania na true. Domyślna wartość to false.

  2. Zaktualizuj wartości i azureServiceConnectionlocation.

  3. Sprawdź, czy w repozytorium znajduje się prawidłowy main.bicepparam plik zawierający instrukcję using .

  4. Wybierz pozycję Zapisz. Potok kompilacji jest uruchamiany automatycznie. Wróć do podsumowania potoku kompilacji i obejrzyj stan.

Czyszczenie zasobów

Gdy zasoby platformy Azure nie są już potrzebne, użyj interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell, aby usunąć grupę zasobów szybkiego startu.

az group delete --name exampleRG

Następne kroki