Quero substituir os parâmetros de um objeto ou array dentro do Arm Template. Como posso passar os novos valores para o template da tarefa?
Eu uso a seguinte tarefa:
- task: AzureResourceManagerTemplateDeployment@3
displayName: "Create Container App"
inputs:
deploymentScope: 'Resource Group'
azureResourceManagerConnection: '$(serviceConnection)'
subscriptionId: '$(SubscriptionID)'
action: 'Create Or Update Resource Group'
resourceGroupName: '$(ResourceGroup)'
location: 'West Europe'
templateLocation: 'Linked artifact'
csmFile: '$(Pipeline.Workspace)/drop/armtemplates/container_deployment.json'
csmParametersFile: '$(Pipeline.Workspace)/drop/armtemplates/container_parameters.json'
deploymentMode: 'Incremental'
overrideParameters: '-SubscriptionId $(SubscriptionID) -containers $(ContainerAppName) -ResourceGroup $(ResourceGroup) -BuildID $($(Build.BuildId)) -RegistriesServer $(RegistriesServer) -RepositoryAppName $(RepositoryAppName) -ContainerAppEnvironment $(ContainerAppEnvironment) -UserIdentityName $(UserIdentityName)'
continueOnError: false
Na tarefa de exemplo acima, não sei como passar um novo valor para o parâmetro (containers -> value -> name) no arquivo parameter.json que tem o parâmetro (como um objeto) containers (veja abaixo). Preciso alterar os valores name e image. Como posso substituir esses parâmetros? Como passo o novo valor?
"containers": {
"value": [
{
"name": "$(ContainerAppName)",
"image": "$(containerAppImageName)",
"command": [],
"args": [],
"resources": {
"cpu": 0.5,
"memory": "1Gi"
}
}
]
}
Não consegui encontrar a solução correta.
Estou usando AzureResourceManagerTemplateDeployment@3 como tarefa de implantação.
A postagem sobre Como passar variáveis do pipeline do Azure não é a mesma que minha pergunta. Preciso saber como substituir o parâmetro dentro de um objeto ou array. Espero que isso esteja claro.
Verifique o documento da tarefa para overrideParamters abaixo:
O truque é que você pode usar a tarefa clássica da interface do usuário para ajudar a encontrar a definição correta.
Selecione template.json e paramter.json, então você pode clicar no
...
botão para substituir os parâmetros, ele exibirá os parâmetros e seu valor padrão, você pode usar variáveis para o valor então.Você pode ver o yaml clicando no
View Yaml
botão e, em seguida, copiar os overrideParamters para seu yaml real.