Udostępnij za pośrednictwem


AzureResourceGroupDeployment@2 — zadanie wdrożenia grupy zasobów platformy Azure w wersji 2

Wdrażanie szablonu usługi Azure Resource Manager (ARM) w grupie zasobów i zarządzanie maszynami wirtualnymi.

Składnia

# Azure resource group deployment v2
# Deploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines.
- task: AzureResourceGroupDeployment@2
  inputs:
  # Azure Details
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'Select Resource Group' | 'Start' | 'Stop' | 'StopWithDeallocate' | 'Restart' | 'Delete' | 'DeleteRG'. Required. Action. Default: Create Or Update Resource Group.
    resourceGroupName: # string. Required. Resource group. 
    #location: # string. Required when action = Create Or Update Resource Group. Location. 
  # Template
    #templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group. Template location. Default: Linked artifact.
    #csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group. Template link. 
    #csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group. Template parameters link. 
    #csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template. 
    #csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template parameters. 
    #overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group. Override template parameters. 
    #deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group. Deployment mode. Default: Incremental.
  # Advanced deployment options for virtual machines
    #enableDeploymentPrerequisites: 'None' # 'None' | 'ConfigureVMwithWinRM' | 'ConfigureVMWithDGAgent'. Optional. Use when action = Create Or Update Resource Group || action = Select Resource Group. Enable prerequisites. Default: None.
    #teamServicesConnection: # string. Alias: deploymentGroupEndpoint. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Azure Pipelines service connection. 
    #teamProject: # string. Alias: project. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Team project. 
    #deploymentGroupName: # string. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Deployment Group. 
    #copyAzureVMTags: true # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Copy Azure VM tags to agents. Default: true.
    #runAgentServiceAsUser: false # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Run agent service as a user. Default: false.
    #userName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. User name. 
    #password: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. Password. 
    #outputVariable: # string. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && (enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None). VM details for WinRM. 
  # Advanced
    #deploymentName: # string. Optional. Use when action = Create Or Update Resource Group. Deployment name. 
    #deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group. Deployment outputs. 
    #addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group. Access service principal details in override parameters. Default: false.
    #useWithoutJSON: false # boolean. Optional. Use when action = Create Or Update Resource Group. Use individual output values without JSON.Stringify applied. Default: false.
# Azure resource group deployment v2
# Deploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines.
- task: AzureResourceGroupDeployment@2
  inputs:
  # Azure Details
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'Select Resource Group' | 'Start' | 'Stop' | 'StopWithDeallocate' | 'Restart' | 'Delete' | 'DeleteRG'. Required. Action. Default: Create Or Update Resource Group.
    resourceGroupName: # string. Required. Resource group. 
    #location: # string. Required when action = Create Or Update Resource Group. Location. 
  # Template
    #templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group. Template location. Default: Linked artifact.
    #csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group. Template link. 
    #csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group. Template parameters link. 
    #csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template. 
    #csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template parameters. 
    #overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group. Override template parameters. 
    #deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group. Deployment mode. Default: Incremental.
  # Advanced deployment options for virtual machines
    #enableDeploymentPrerequisites: 'None' # 'None' | 'ConfigureVMwithWinRM' | 'ConfigureVMWithDGAgent'. Optional. Use when action = Create Or Update Resource Group || action = Select Resource Group. Enable prerequisites. Default: None.
    #teamServicesConnection: # string. Alias: deploymentGroupEndpoint. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Azure Pipelines service connection. 
    #teamProject: # string. Alias: project. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Team project. 
    #deploymentGroupName: # string. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Deployment Group. 
    #copyAzureVMTags: true # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Copy Azure VM tags to agents. Default: true.
    #runAgentServiceAsUser: false # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Run agent service as a user. Default: false.
    #userName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. User name. 
    #password: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. Password. 
    #outputVariable: # string. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && (enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None). VM details for WinRM. 
  # Advanced
    #deploymentName: # string. Optional. Use when action = Create Or Update Resource Group. Deployment name. 
    #deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group. Deployment outputs. 
    #addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group. Access service principal details in override parameters. Default: false.

Dane wejściowe

subskrypcji platformy Azure azureSubscription -
Alias wejściowy: ConnectedServiceName. string. To jest wymagane.

Wybiera połączenie z usługą, które zawiera subskrypcję platformy Azure dla wdrożenia.


action - akcja
string. To jest wymagane. Dozwolone wartości: Create Or Update Resource Group, Select Resource Group (Konfiguruj opcje wdrażania maszyny wirtualnej), Start (Uruchom maszyny Stop wirtualne), (Zatrzymaj maszyny StopWithDeallocate wirtualne), (Zatrzymaj i cofnij przydział maszyn wirtualnych), Restart (Uruchom ponownie maszyny Delete wirtualne), (Usuń maszyny wirtualne), (Usuń grupę DeleteRG zasobów). Wartość domyślna: Create Or Update Resource Group.

Akcja do wykonania w zasobach platformy Azure lub grupie zasobów.


grupy zasobów resourceGroupName -
string. To jest wymagane.

Zawiera nazwę grupy zasobów.


lokalizacji location -
string. Wymagane, gdy action = Create Or Update Resource Group.

Lokalizacja do wdrożenia grupy zasobów. Jeśli grupa zasobów już istnieje w subskrypcji, ta wartość zostanie zignorowana.


templateLocation - lokalizacja szablonu
string. Wymagane, gdy action = Create Or Update Resource Group. Dozwolone wartości: Linked artifact, URL of the file. Wartość domyślna: Linked artifact.

Wybierz opcję Połączony artefakt lub adres URL pliku.


linku szablonu csmFileLink -
string. Wymagane, gdy templateLocation = URL of the file && action = Create Or Update Resource Group.

Określa adres URL pliku szablonu. Przykładowy adres URL: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json

Aby wdrożyć szablon przechowywany na prywatnym koncie magazynu, pobierz i dołącz token sygnatury dostępu współdzielonego (SAS) w adresie URL szablonu. Przykład: <blob_storage_url>/template.json?<SAStoken>

Aby przekazać plik szablonu (lub połączony szablon) do konta magazynu i wygenerować token SAS, użyj zadania kopiowania plików platformy Azure lub wykonaj kroki opisane w programu PowerShell lub interfejsu wiersza polecenia platformy Azure.

Aby wyświetlić parametry szablonu w siatce, kliknij ... obok pola tekstowego zastąpić parametry szablonu. Ta funkcja wymaga włączenia reguł CORS w źródle. Jeśli szablony znajdują się w obiekcie blob usługi Azure Storage, zobacz Opis żądań CORS w celu włączenia mechanizmu CORS.


link parametrów szablonu csmParametersFileLink -
string. Opcjonalny. Użyj polecenia , gdy templateLocation = URL of the file && action = Create Or Update Resource Group.

Określa adres URL pliku parametrów. Przykład: https://raw.githubusercontent.com/Azure/...

Aby użyć pliku przechowywanego na prywatnym koncie magazynu, pobierz i dołącz token sygnatury dostępu współdzielonego (SAS) w adresie URL szablonu. Przykład: <blob_storage_url>/template.json?<SAStoken> Aby przekazać plik parametrów do konta magazynu i wygenerować token SAS, możesz użyć zadania kopiowania plików platformy Azure lub wykonać kroki przy użyciu programu PowerShell lub interfejsu wiersza polecenia platformy Azure.

Aby wyświetlić parametry szablonu w siatce, kliknij ... obok pola tekstowego zastąpić parametry szablonu. Ta funkcja wymaga włączenia reguł CORS w źródle. Jeśli szablony znajdują się w obiekcie blob usługi Azure Storage, zobacz Opis żądań CORS w celu włączenia mechanizmu CORS.


szablonu csmFile -
string. Wymagane, gdy templateLocation = Linked artifact && action = Create Or Update Resource Group.

Określa ścieżkę lub wzorzec wskazujący szablon usługi Azure Resource Manager. Dowiedz się więcej o szablonach usługi Azure Resource Manager . Aby natychmiast rozpocząć pracę, użyj tego przykładowego szablonu.


parametry szablonu csmParametersFile -
string. Opcjonalny. Użyj polecenia , gdy templateLocation = Linked artifact && action = Create Or Update Resource Group.

Określa adres URL pliku parametrów. Przykładowy adres URL: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json

Aby użyć pliku przechowywanego na prywatnym koncie magazynu, pobierz i dołącz token sygnatury dostępu współdzielonego (SAS) w adresie URL szablonu. Przykład: <blob_storage_url>/template.json?<SAStoken> Aby przekazać plik parametrów na konto magazynu i wygenerować token SAS, użyj zadania kopiowania plików platformy Azure lub wykonaj kroki opisane w programie PowerShell lub interfejsie wiersza polecenia platformy Azure .

Aby wyświetlić parametry szablonu w siatce, kliknij ... obok pola tekstowego zastąpić parametry szablonu. Ta funkcja wymaga włączenia reguł CORS w źródle. Jeśli szablony znajdują się w obiekcie blob usługi Azure Storage, zobacz Opis żądań CORS w celu włączenia mechanizmu CORS.


overrideParameters - Przesłoń parametry szablonu
string. Opcjonalny. Użyj polecenia , gdy action = Create Or Update Resource Group.

Określa parametry szablonu do zastąpienia.

Aby wyświetlić parametry szablonu w siatce, kliknij ... obok pola tekstowego Zastąp parametry. Ta funkcja wymaga włączenia reguł CORS w źródle. Jeśli szablony znajdują się w obiekcie blob usługi Azure Storage, odwołaj się do tego ciągu, aby włączyć mechanizm CORS, lub wpisz parametry szablonu do zastąpienia w polu tekstowym.

Przykład: -storageName fabrikam -adminUsername $(vmusername) -adminPassword (ConvertTo-SecureString -String '$(password)' -AsPlainText -Force) -azureKeyVaultName $(fabrikamFibre).

Jeśli wartość parametru ma wiele wyrazów, należy ująć wyrazy w cudzysłowy, nawet jeśli przekazujesz wartość przy użyciu zmiennych. Na przykład -name "parameter value" -name2 "$(var)". Aby zastąpić parametry typu obiektu, użyj ciągyfikowanych obiektów JSON. Na przykład -options ["option1"] -map {"key1": "value1" }.


deploymentMode - tryb wdrażania
string. Wymagane, gdy action = Create Or Update Resource Group. Dozwolone wartości: Incremental, Complete, Validation (tylko walidacja). Wartość domyślna: Incremental.

Tryb Incremental obsługuje wdrożenia jako aktualizacje przyrostowe do grupy zasobów. Pozostawia niezmienione zasoby, które istnieją w grupie zasobów, ale nie zostały określone w szablonie.

Complete tryb usuwa zasoby, które nie znajdują się w szablonie. Tryb ukończenia zajmuje stosunkowo więcej czasu niż tryb przyrostowy. Jeśli limit czasu zadania zostanie przekroczony, rozważ zwiększenie limitu czasu lub zmianę na tryb Incremental.

Ostrzeżenie

Tryb ukończenia spowoduje usunięcie wszystkich istniejących zasobów w grupie zasobów, które nie zostały określone w szablonie. Sprawdź, czy wdrażana grupa zasobów nie zawiera żadnych niezbędnych zasobów, które nie zostały określone w szablonie.

Validate tryb umożliwia znalezienie problemów z szablonem przed utworzeniem rzeczywistych zasobów.

Uwaga / Notatka

Tryb Validate zawsze tworzy grupę zasobów, nawet jeśli nie są wdrażane żadne zasoby.

Dowiedz się więcej o trybach wdrażania .


enableDeploymentPrerequisites - Włączanie wymagań wstępnych
string. Opcjonalny. Użyj polecenia , gdy action = Create Or Update Resource Group || action = Select Resource Group. Dozwolone wartości: None, ConfigureVMwithWinRM (Konfiguruj za pomocą agenta WinRM), ConfigureVMWithDGAgent (Konfiguruj za pomocą agenta grupy wdrażania). Wartość domyślna: None.

Dotyczy tylko wtedy, gdy grupa zasobów zawiera maszyny wirtualne.

Wybranie opcji Grupa wdrożenia powoduje skonfigurowanie agenta grupy wdrożeń na każdej maszynie wirtualnej.

Wybranie opcji WinRM powoduje skonfigurowanie odbiornika Windows Remote Management (WinRM) za pośrednictwem protokołu HTTPS na porcie 5986 przy użyciu certyfikatu z podpisem własnym. Ta konfiguracja jest wymagana do wykonywania operacji wdrażania na maszynach platformy Azure. Jeśli docelowe maszyny wirtualne są wspierane przez moduł równoważenia obciążenia, upewnij się, że reguły NAT dla ruchu przychodzącego są skonfigurowane dla portu docelowego (5986).


teamServicesConnection - Połączenie z usługą Azure Pipelines
Alias wejściowy: deploymentGroupEndpoint. string. Wymagane, gdy (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent.

Określa połączenie z usługą, aby nawiązać połączenie z organizacją lub kolekcją usługi Azure DevOps na potrzeby rejestracji agenta.

Połączenie z usługą można utworzyć za pomocą +New , a następnie wybierając pozycję Token-based authentication. Do skonfigurowania połączenia z usługą potrzebny jest osobisty token dostępu (PAT). Kliknij Manage , aby zaktualizować szczegóły połączenia z usługą.


teamProject - Projekt zespołowy
Alias wejściowy: project. string. Wymagane, gdy (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent.

Określa projekt zespołowy, który definiuje grupę wdrożenia.


deploymentGroupName - Grupa wdrożeniowa
string. Wymagane, gdy (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent.

Określa grupę wdrożenia, w której zostaną zarejestrowani agenci. Dowiedz się więcej o grupach wdrożeń.


copyAzureVMTags - Kopiowanie tagów maszyny wirtualnej platformy Azure do agentów
boolean. Opcjonalny. Użyj polecenia , gdy (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Wartość domyślna: true.

Określa, czy skonfigurowane tagi na maszynie wirtualnej platformy Azure muszą zostać skopiowane do odpowiedniego agenta grupy wdrożenia.

Domyślnie wszystkie tagi platformy Azure są kopiowane zgodnie z formatem: Key: Value. Przykład: Tag platformy Azure zostanie skopiowany Role : Web as-is na maszynę agenta.

Dowiedz się więcej o używaniu tagów dla zasobów platformy Azure.


runAgentServiceAsUser - Uruchamianie usługi agenta jako użytkownik
boolean. Opcjonalny. Użyj polecenia , gdy (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Wartość domyślna: false.

Uruchamia usługę agenta jako użytkownik inny niż użytkownik domyślny, jeśli wartość jest ustawiona na true.

Domyślny użytkownik znajduje się NT AUTHORITY\\SYSTEM w systemach Windows i root Linux.


userName - Nazwa użytkownika
string. Wymagane, gdy enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true.

Nazwa użytkownika służąca do uruchamiania usługi agenta na maszynach wirtualnych.

W przypadku użytkowników domeny określ wartości jako domain\username lub username@domain.com. W przypadku użytkowników lokalnych określ username.

Zakłada się, że ten sam użytkownik domeny lub użytkownik lokalny o tej samej nazwie jest obecny na wszystkich maszynach wirtualnych w grupie zasobów.


haseł password -
string. Opcjonalny. Użyj polecenia , gdy enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true.

Hasło użytkownika do uruchamiania usługi agenta na maszynach wirtualnych z systemem Windows.

Zakłada się, że hasło jest takie samo dla określonego użytkownika na wszystkich maszynach wirtualnych.

Może akceptować zmienne zdefiniowane w potokach kompilacji lub wydania jako $(passwordVariable). Możesz oznaczyć zmienną jako secret zabezpieczoną.

W przypadku maszyn wirtualnych z systemem Linux hasło nie jest wymagane i zostanie zignorowane.


outputVariable - Szczegóły maszyny wirtualnej dla usługi WinRM
string. Opcjonalny. Użyj polecenia , gdy (action = Create Or Update Resource Group || action = Select Resource Group) && (enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None).

Wymagane po wybraniu istniejącej grupy zasobów. Zawiera nazwę zmiennej grupy zasobów. Zmienna może służyć jako $(variableName) do odwoływania się do grupy zasobów w kolejnych zadaniach, takich jak w programie PowerShell w usłudze Target Machines zadania wdrażania aplikacji.

Prawidłowe tylko wtedy, gdy wybrana akcja jest Create, Updatelub Select.


deploymentName - nazwa wdrożenia
string. Opcjonalny. Użyj polecenia , gdy action = Create Or Update Resource Group.

Określa nazwę wdrożenia grupy zasobów do utworzenia.


dane wyjściowe wdrożenia deploymentOutputs -
string. Opcjonalny. Użyj polecenia , gdy action = Create Or Update Resource Group.

Zawiera nazwę zmiennej wyjściowej, która zawiera sekcję outputs bieżącego obiektu wdrożenia w formacie ciągu. ConvertFrom-Json Użyj polecenia cmdlet programu PowerShell, aby przeanalizować obiekt JSON i uzyskać dostęp do poszczególnych wartości wyjściowych.


addSpnToEnvironment - Szczegóły jednostki usługi programu Access w zastąpić parametry
boolean. Opcjonalny. Użyj polecenia , gdy action = Create Or Update Resource Group. Wartość domyślna: false.

Dodaje identyfikator jednostki usługi i klucz punktu końcowego platformy Azure wybranego jako środowisko wykonywania skryptu. Zmienne $servicePrincipalId i $servicePrincipalKey mogą być w parametrach zastąpienia, takich jak -key $servicePrincipalKey.


useWithoutJSON - Użyj pojedynczych wartości wyjściowych bez formatu JSON. Zastosowane stringify
boolean. Opcjonalny. Użyj polecenia , gdy action = Create Or Update Resource Group. Wartość domyślna: false.

Poszczególne wartości wyjściowe są konwertowane za pośrednictwem formatu JSON. Ciągifikuj domyślnie. Jeśli chcesz użyć wartości wyjściowych bez konwertowania ich za pomocą formatu JSON. Stringify, włącz tę opcję. Aby uzyskać więcej informacji, zobacz tym.


Opcje sterowania zadania

Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań podrzędnych. Aby uzyskać więcej informacji, zobacz opcje kontroli i typowe właściwości zadań.

Zmienne wyjściowe

Żaden.

Uwagi

Nowa wersja tego zadania jest dostępna pod adresem AzureResourceManagerTemplateDeployment@3 — Zadanie wdrożenia szablonu usługi ARM w wersji 3.

Co nowego w zadaniu w wersji 2

  • Współpracuje z agentami międzyplatformowymi (Linux, macOS lub Windows)
  • Obsługuje szablony JSON znajdujące się pod dowolnymi publicznie dostępnymi adresami URL http/https.
  • Ulepszony interfejs użytkownika dla parametrów zastępowania, które można teraz wyświetlać/edytować w siatce.
  • Mapowanie reguł translatora adresów sieciowych dla maszyn wirtualnych, które są wspierane przez moduł równoważenia obciążenia.
  • Nazwa pola "Grupa zasobów" została teraz zmieniona na "Szczegóły maszyny wirtualnej dla usługi WinRM" i znajduje się w sekcji "Zaawansowane opcje wdrażania maszyn wirtualnych".
  • Ograniczenia:
    • Brak obsługi subskrypcji klasycznych. Obsługiwane są tylko subskrypcje usługi ARM.
    • Brak obsługi składni programu PowerShell, ponieważ zadanie jest teraz oparte na node.js. Upewnij się, że uwzględnianie wielkości liter w nazwach parametrów jest zgodne po zastąpieniu parametrów szablonu. Ponadto usuń polecenia cmdlet programu PowerShell, takie jak "ConvertTo-SecureString" podczas migracji z wersji 1.0 do wersji 2.0.

Rozwiązywanie problemów

Błąd: Wewnętrzny błąd serwera

Problemy te mają w większości przypadków charakter przejściowy. Istnieje wiele powodów, dla których może się to dziać:

  • Jedna z usług platformy Azure, którą próbujesz wdrożyć, jest w trakcie konserwacji w regionie, w którym próbujesz wdrożyć. Miej oko na https://status.azure.com/ przestoje usług platformy Azure, aby je sprawdzić.
  • Sama usługa Azure Pipelines jest w trakcie konserwacji. Miej oko https://status.dev.azure.com/ na przestoje.

Jednak w niektórych przypadkach jest to spowodowane błędem w szablonie usługi ARM, na przykład usługa platformy Azure, którą próbujesz wdrożyć, nie obsługuje regionu wybranego dla zasobu.

Błąd: Przekroczono limit czasu

Problemy z przekroczeniem limitu czasu mogą pochodzić z dwóch miejsc:

  • Agent usługi Azure Pipelines
  • Wdrożenie za pomocą portalu

Możesz określić, czy przekroczenie limitu czasu pochodzi z portalu, sprawdzając link wdrożenia portalu, który będzie znajdować się w dziennikach zadań. Jeśli nie ma linku, prawdopodobnie problem jest związany z agentem usługi Azure Pipelines. Jeśli istnieje link, sprawdź link, aby stwierdzić, czy występuje przekroczenie limitu czasu przy wdrożeniu za pomocą portalu.

Błąd: Reguły CORS mają być włączone podczas zastępowania parametrów

Jeśli następuje odwołanie do pliku szablonu z obiektu BLOB podczas zastępowania parametrów w potoku, może zostać wyświetlony następujący komunikat ostrzegawczy:

Warning: Failed to download the file from template path.

Ta funkcja wymaga włączenia reguł CORS w lokalizacji źródłowej. Jeśli szablony znajdują się w obiekcie Blob usługi Azure Storage, zobacz Obsługa udostępniania zasobów między źródłami, aby włączyć mechanizm CORS.

Oprócz włączania mechanizmu CORS upewnij się, że token SAS określony w linku szablonu to "srt-sco". Ten token jest wymagany do pobrania pliku i kontynuowania.

Agent usługi Azure Pipelines

Jeśli problem pochodzi z agenta usługi Azure Pipelines, możesz zwiększyć limit czasu, ustawiając timeoutInMinutes jako klucz w YAML na 0. Aby uzyskać więcej informacji, zobacz Określanie zadań w Twoim potoku.

Wdrożenie za pomocą portalu

Zapoznaj się z tym dokumentem, aby dowiedzieć się, jak zidentyfikować, czy błąd pochodzi z Azure Portal: Wyświetlanie historii wdrożenia za pomocą usługi Azure Resource Manager.

W przypadku wdrożenia portalu spróbuj ustawić wartość "timeoutInMinutes" w szablonie usługi ARM na wartość "0". Jeśli nie określono, przyjmuje się wartość 60 minut. 0 zapewnia, że wdrożenie będzie działać tak długo, jak to możliwe, aby zakończyć się pomyślnie.

Może się to również zdarzyć z powodu przejściowych problemów w systemie. Miej oko na https://status.dev.azure.com/ to, czy nie ma przestoju w usłudze Azure Pipelines.

Błąd: Walidacja szablonu usługi Azure Resource Manager (ARM) nie powiodła się

Ten problem występuje głównie na skutek nieprawidłowego parametru w szablonie usługi ARM, takiego jak nieobsługiwana jednostka SKU lub region. Jeśli walidacja zakończy się niepowodzeniem, sprawdź komunikat o błędzie. Powinien wskazać zasób i parametr, który jest nieprawidłowy.

Ten problem może również występować z powodu ciągów wielowierszowych. Obecnie zadanie wdrażania grupy zasobów platformy Azure nie obsługuje ciągów wielowierszowych w pliku parametrów JSON ani szablonie usługi ARM.

Ponadto zapoznaj się z tym artykułem dotyczącym struktury i składni szablonów usługi ARM: Omówienie struktury i składni szablonów usługi ARM.

Wymagania

Wymaganie Opis
Typy potoków YAML, klasyczna kompilacja, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Żaden
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
ograniczenia poleceń Jakikolwiek
zmienne ustawiane Jakikolwiek
Wersja agenta 2.119.1 lub nowsza
Kategoria zadań Zainstaluj