AzureResourceManagerTemplateDeployment@3 — zadanie wdrażania szablonu usługi ARM w wersji 3
To zadanie służy do wdrażania szablonu usługi Azure Resource Manager (ARM) we wszystkich zakresach wdrażania.
Składnia
# ARM template deployment v3
# Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
- task: AzureResourceManagerTemplateDeployment@3
inputs:
# Azure Details
deploymentScope: 'Resource Group' # 'Management Group' | 'Subscription' | 'Resource Group'. Required. Deployment scope. Default: Resource Group.
azureResourceManagerConnection: # string. Alias: ConnectedServiceName. Required. Azure Resource Manager connection.
#subscriptionId: # string. Alias: subscriptionName. Required when deploymentScope != Management Group. Subscription.
#action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'DeleteRG'. Required when deploymentScope = Resource Group. Action. Default: Create Or Update Resource Group.
#resourceGroupName: # string. Required when deploymentScope = Resource Group. Resource group.
#location: # string. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Location.
# Template
#templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Template location. Default: Linked artifact.
#csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template link.
#csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters link.
#csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template.
#csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters.
#overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Override template parameters.
#deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment mode. Default: Incremental.
# Advanced
#deploymentName: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment name.
#deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment outputs.
#addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Access service principal details in override parameters. Default: false.
#useWithoutJSON: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Use individual output values without JSON.Stringify applied. Default: false.
# ARM template deployment v3
# Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
- task: AzureResourceManagerTemplateDeployment@3
inputs:
# Azure Details
deploymentScope: 'Resource Group' # 'Management Group' | 'Subscription' | 'Resource Group'. Required. Deployment scope. Default: Resource Group.
azureResourceManagerConnection: # string. Alias: ConnectedServiceName. Required. Azure Resource Manager connection.
#subscriptionId: # string. Alias: subscriptionName. Required when deploymentScope != Management Group. Subscription.
#action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'DeleteRG'. Required when deploymentScope = Resource Group. Action. Default: Create Or Update Resource Group.
#resourceGroupName: # string. Required when deploymentScope = Resource Group. Resource group.
#location: # string. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Location.
# Template
#templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Template location. Default: Linked artifact.
#csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template link.
#csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters link.
#csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template.
#csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters.
#overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Override template parameters.
#deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment mode. Default: Incremental.
# Advanced
#deploymentName: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment name.
#deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment outputs.
#addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Access service principal details in override parameters. Default: false.
Dane wejściowe
deploymentScope
-
Zakres wdrożenia
string
. Wymagane. Dozwolone wartości: Management Group
, , Resource Group
Subscription
. Wartość domyślna: Resource Group
.
Zakres wdrożenia. Dowiedz się więcej o zakresach wdrażania.
azureResourceManagerConnection
-
Połączenie usługi Azure Resource Manager
Alias wejściowy: ConnectedServiceName
.
string
. Wymagane.
Określa połączenie usługi Azure Resource Manager z dostępem do wybranego zakresu wdrożenia.
subscriptionId
-
Subskrypcji
Alias wejściowy: subscriptionName
.
string
. Wymagane, gdy deploymentScope != Management Group
.
Określa subskrypcję platformy Azure.
Ważne
Określona wartość musi być identyfikatorem subskrypcji, a nie nazwą subskrypcji.
action
-
Działania
string
. Wymagane, gdy deploymentScope = Resource Group
. Dozwolone wartości: Create Or Update Resource Group
, DeleteRG
(Usuń grupę zasobów). Wartość domyślna: Create Or Update Resource Group
.
Akcja do wykonania w zasobach platformy Azure lub grupie zasobów.
resourceGroupName
-
Grupa zasobów
string
. Wymagane, gdy deploymentScope = Resource Group
.
Zawiera nazwę grupy zasobów.
location
-
Lokalizacji
string
. Wymagane, gdy action = Create Or Update Resource Group || deploymentScope != Resource Group
.
Zakresy wdrażania grupy zasobów: lokalizacja do wdrożenia grupy zasobów. Jeśli grupa zasobów już istnieje w subskrypcji platformy Azure, ta wartość zostanie zignorowana. Inne zakresy wdrażania: lokalizacja do przechowywania metadanych wdrożenia.
templateLocation
-
Lokalizacja szablonu
string
. Wymagane, gdy action = Create Or Update Resource Group || deploymentScope != Resource Group
. Dozwolone wartości: Linked artifact
, URL of the file
. Wartość domyślna: Linked artifact
.
Lokalizacja szablonu i plików JSON parametrów. Wybierz pozycję Połączony artefakt , jeśli pliki są częścią połączonych artefaktów kodu/kompilacji. W przypadku połączonych artefaktów można również określić ścieżkę do pliku Bicep. Wybierz adres URL pliku , jeśli pliki JSON znajdują się publicznie dostępne adresy URL http/https. 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?
. 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 opisane w programie PowerShell lub interfejsie wiersza polecenia platformy Azure.
csmFileLink
-
Link do szablonu
string
. Wymagane, gdy templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != 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 sygnatury dostępu współdzielonego, użyj zadania kopiowania plików platformy Azure lub wykonaj czynności opisane w programie PowerShell lub interfejsie wiersza polecenia platformy Azure.
Aby wyświetlić parametry szablonu w siatce, kliknij ...
obok pola tekstowego przesłonięć parametry szablonu. Ta funkcja wymaga włączenia reguł CORS w miejscu źródłowym. Jeśli szablony znajdują się w obiekcie blob usługi Azure Storage, zapoznaj się z tematem Współużytkowanie zasobów między źródłami , aby włączyć mechanizm CORS.
csmParametersFileLink
-
Link parametrów szablonu
string
. Opcjonalny. Użyj polecenia , gdy templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != 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 szablonu (lub połączony szablon) do konta magazynu i wygenerować token sygnatury dostępu współdzielonego, użyj zadania kopiowania plików platformy Azure lub wykonaj czynności opisane w programie PowerShell lub interfejsie wiersza polecenia platformy Azure.
Aby wyświetlić parametry szablonu w siatce, kliknij obok ...
pola tekstowego Przesłoń parametry szablonu. Ta funkcja wymaga włączenia reguł CORS w miejscu źródłowym. Jeśli szablony znajdują się w obiekcie blob usługi Azure Storage, zapoznaj się z tematem Współużytkowanie zasobów między źródłami , aby włączyć mechanizm CORS.
csmFile
-
Szablonu
string
. Wymagane, gdy templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != 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. Obsługuje pliki Bicep, gdy interfejs wiersza polecenia platformy Azure w wersji > 2.20.0.
csmParametersFile
-
Parametry szablonu
string
. Opcjonalny. Użyj polecenia , gdy templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group
.
Określ ścieżkę lub wzorzec wskazujący plik parametrów szablonu usługi Azure Resource Manager. Obsługuje pliki Bicep Param , gdy interfejs wiersza polecenia platformy Azure w wersji > 2.47.0.
overrideParameters
-
Zastępowanie parametrów szablonu
string
. Opcjonalny. Użyj polecenia , gdy action = Create Or Update Resource Group || deploymentScope != Resource Group
.
Określa parametry szablonu do zastąpienia.
Aby wyświetlić parametry szablonu w siatce, kliknij ...
obok pola tekstowego Przesłoń parametry. Ta funkcja wymaga włączenia reguł CORS w miejscu źródłowym. 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 zawiera wiele wyrazów, należy ująć wyrazy w cudzysłów, 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 || deploymentScope != Resource Group
. Dozwolone wartości: Incremental
, , Validation
Complete
(tylko walidacja). Wartość domyślna: Incremental
.
Tryb Incremental
obsługuje wdrożenia jako przyrostowe aktualizacje grupy zasobów. Pozostawia on 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 przekroczono limit czasu zadania, rozważ zwiększenie limitu czasu lub zmianę w trybie 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
Tryb Validate
zawsze tworzy grupę zasobów, nawet jeśli nie są wdrażane żadne zasoby.
Dowiedz się więcej o trybach wdrażania.
deploymentName
-
Nazwa wdrożenia
string
. Opcjonalny. Użyj polecenia , gdy action = Create Or Update Resource Group || deploymentScope != Resource Group
.
Określa nazwę wdrożenia grupy zasobów do utworzenia.
deploymentOutputs
-
Dane wyjściowe wdrożenia
string
. Opcjonalny. Użyj polecenia , gdy action = Create Or Update Resource Group || deploymentScope != Resource Group
.
Zawiera nazwę zmiennej wyjściowej, która zawiera sekcję outputs bieżącego obiektu wdrożenia w formacie ciągu. Możesz użyć ConvertFrom-Json
polecenia cmdlet programu PowerShell, aby przeanalizować obiekt JSON i uzyskać dostęp do poszczególnych wartości wyjściowych. Dowiedz się więcej o danych wyjściowych wdrożenia.
addSpnToEnvironment
-
Uzyskiwanie dostępu do szczegółów jednostki usługi w parametrach zastępowania
boolean
. Opcjonalny. Użyj polecenia , gdy action = Create Or Update Resource Group || deploymentScope != 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ępowania, takich jak -key $servicePrincipalKey
.
useWithoutJSON
-
Używaj pojedynczych wartości wyjściowych bez formatu JSON. Zastosowano ciągify
boolean
. Opcjonalny. Użyj polecenia , gdy action = Create Or Update Resource Group || deploymentScope != Resource Group
. Wartość domyślna: false
.
Poszczególne wartości wyjściowe są konwertowane za pośrednictwem formatu JSON. Ciągify domyślnie. Jeśli chcesz użyć wartości wyjściowych bez konwertowania ich za pośrednictwem formatu JSON. Stringify, włącz tę opcję. Aby uzyskać więcej informacji, zapoznaj się z tym tematem.
Opcje sterowania zadania
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.
Zmienne wyjściowe
Brak.
Uwagi
Uwaga
To zadanie obsługuje pliki Bicep, gdy interfejs wiersza polecenia platformy Azure w wersji > 2.20.0.
- Dodano obsługę wdrożenia we wszystkich zakresach wdrażania.
- Usunięto wszystkie akcje związane z maszyną wirtualną.
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa w | Agent, DeploymentGroup |
Wymagania | Brak |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne ustawialne | Dowolne |
Wersja agenta | 2.119.1 lub nowsza |
Kategoria zadania | Wdrażanie |