Início Rápido: Usar um modelo do ARM para implantar um aplicativo Web Linux no Azure

Serviços do Azure DevOps

Comece a usar modelos do Azure Resource Manager (ARM templates) implantando um app da web Linux com MySQL. Os modelos do ARM oferecem uma maneira de salvar sua configuração no código. Usar um modelo do ARM é um exemplo de infraestrutura como código e uma boa prática de DevOps.

Um modelo arm é um arquivo JSON (JavaScript Object Notation) que define a infraestrutura e a configuração do seu projeto. O modelo usa sintaxe declarativa. Na sintaxe declarativa, você descreve a implantação pretendida sem gravar a sequência de comandos de programação para criar a implantação.

Você pode usar a sintaxe JSON ou Bicep para implantar recursos do Azure. Saiba mais sobre a diferença entre JSON e Bicep para modelos.

Pré-requisitos

Antes de começar, você precisa de:

Obter o código

Bifurque este repositório no GitHub:

https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.web/webapp-linux-managed-mysql

Examinar o modelo

O modelo usado neste início rápido é proveniente dos Modelos de Início Rápido do Azure.

O modelo define vários recursos:

Criar seu pipeline e implantar seu modelo

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto. Crie um projeto se você ainda não tiver um.

  2. Vá para Pipelines e, em seguida, selecione Criar Pipeline.

  3. Selecione GitHub como o local do código-fonte.

    Observação

    Você pode ser redirecionado para o GitHub para entrar. Nesse caso, insira suas credenciais do GitHub.

  4. Quando a lista de repositórios for exibida, selecione yourname/azure-quickstart-templates/.

    Observação

    Você pode ser redirecionado ao GitHub para instalar o aplicativo Azure Pipelines. Nesse caso, selecione Aprovar e instalar.

  5. Quando a guia Configurar for exibida, selecione Starter pipeline.

  6. Substitua o conteúdo do pipeline por este código:

    trigger:
      - none
    
    pool:
      vmImage: 'ubuntu-latest'
    
  7. Criar variáveis de pipeline para siteName, administratorLogine administratorLoginPassword. A variável de senha deve ser marcada como segredo.

    • Selecione Variáveis na página de pipeline.
    • Use o + botão para adicionar variáveis.
    • Para administratorLoginPassword, selecione Manter esse segredo de valor.
  8. Adicione a tarefa Copiar Arquivos ao arquivo YAML:

    trigger:
      - none
    
    pool:
      vmImage: 'ubuntu-latest'
    
    steps:
      - task: CopyFiles@2
        inputs:
          SourceFolder: 'quickstarts/microsoft.web/webapp-linux-managed-mysql/'
          Contents: '**'
          TargetFolder: '$(Build.ArtifactStagingDirectory)'
    
  9. Adicione e configure a tarefa Implantação do Grupo de Recursos do Azure :

    trigger:
      - none
    
    pool:
      vmImage: 'ubuntu-latest'
    
    steps:
      - task: CopyFiles@2
        inputs:
          SourceFolder: 'quickstarts/microsoft.web/webapp-linux-managed-mysql/'
          Contents: '**'
          TargetFolder: '$(Build.ArtifactStagingDirectory)'
    
      - task: AzureResourceManagerTemplateDeployment@3
        inputs:
          deploymentScope: 'Resource Group'
          azureResourceManagerConnection: '<your-resource-manager-connection>'
          subscriptionId: '<your-subscription-id>'
          action: 'Create Or Update Resource Group'
          resourceGroupName: 'ARMPipelinesLAMP-rg'
          location: '<your-closest-location>'
          templateLocation: 'Linked artifact'
          csmFile: '$(Build.ArtifactStagingDirectory)/azuredeploy.json'
          csmParametersFile: '$(Build.ArtifactStagingDirectory)/azuredeploy.parameters.json'
          overrideParameters: '-siteName $(siteName) -administratorLogin $(administratorLogin) -administratorLoginPassword $(administratorLoginPassword)'
          deploymentMode: 'Incremental'
    
  10. Clique em Salvar e executar para implantar seu modelo. O trabalho de pipeline será iniciado e, após alguns minutos, dependendo do agente, o status do trabalho deve indicar Success.

Examinar os recursos implantados

  1. Verifique se os recursos estão implantados. Acesse o ARMPipelinesLAMP-rg grupo de recursos no portal do Azure e verifique se você vê o Serviço de Aplicativo, o Plano do Serviço de Aplicativo e os recursos do servidor do Banco de Dados do Azure para MySQL.

    Recursos de modelos ARM no portal do Azure

    Você também pode verificar os recursos usando a CLI do Azure.

    az resource list --resource-group ARMPipelinesLAMP-rg --output table
    
  2. Vá para seu novo site. Se você definir siteName como armpipelinetestsite, o site estará localizado em https://armpipelinetestsite.azurewebsites.net/.

Limpar os recursos

Você também pode usar um modelo do ARM para excluir recursos. Altere o valor action na sua tarefa de implantação do Grupo de Recursos do Azure para DeleteRG. Você também pode remover as entradas para templateLocation, csmFile, , csmParametersFilee overrideParametersdeploymentMode.

trigger:
  - none

pool:
  vmImage: 'ubuntu-latest'

steps:
  - task: CopyFiles@2
    inputs:
      SourceFolder: 'quickstarts/microsoft.web/webapp-linux-managed-mysql/'
      Contents: '**'
      TargetFolder: '$(Build.ArtifactStagingDirectory)'

  - task: AzureResourceManagerTemplateDeployment@3
    inputs:
      deploymentScope: 'Resource Group'
      azureResourceManagerConnection: '<your-resource-manager-connection>'
      subscriptionId: '<your-subscription-id>'
      action: 'DeleteRG'
      resourceGroupName: 'ARMPipelinesLAMP-rg'
      location: '<your-closest-location>'

Próximas etapas