Exercício - Implantar um aplicativo Spring Boot de exemplo

Concluído

Neste exercício, você usará um fluxo de trabalho automatizado para criar e implantar seu aplicativo de exemplo do Spring Boot.

Configurar uma ação do GitHub para implantar o aplicativo de exemplo

Agora que você provisionou seus recursos do Azure, pode implantar seu aplicativo Spring Boot de exemplo.

Para criar seu fluxo de trabalho do Maven GitHub, você usará a ferramenta interna do assistente de integração contínua e entrega contínua (CI/CD) que está disponível no Centro de Implantação no portal do Serviço de Aplicativo do Azure.

Screenshot of the Azure App Service Deployment Center.

O Centro de Implantação do Serviço de Aplicativo do Azure gera automaticamente um arquivo de fluxo de trabalho de Ações do GitHub baseado em sua pilha de aplicativos. Em seguida, o Centro de Implantação confirma o arquivo no repositório GitHub no diretório correto. O Centro de Implantação também vincula sua ação do GitHub a um perfil de publicação do Serviço de Aplicativo do Azure.

  1. No portal do Azure, vá para seu aplicativo Web do Serviço de Aplicativo do Azure.

  2. No painel esquerdo, expanda Implantação e selecione Centro de Implantação.

  3. Na lista suspensa Origem, em Implantação contínua (CI/CD), selecione GitHub.

  4. Selecione Ações do GitHub. (Este deve ser o padrão, mas se não for, selecione Altere o provedor para carregar as opções do provedor .)

  5. Em Configurações, nas listas suspensas, faça o seguinte:

    a. Selecione seu repositório GitHub.
    b. Para ramificação, selecione principal.
    c. Para pilha de aplicativos, selecione JAVA 8.

  6. Na página final, revise suas seleções e visualize o arquivo de fluxo de trabalho que será confirmado no repositório.

  7. Selecione Salvar para confirmar o arquivo de fluxo de trabalho no repositório e comece imediatamente a criar e implantar seu aplicativo.

    Nota

    Você também pode acionar o fluxo de trabalho Ações do GitHub em seu repositório selecionando a guia Ações , selecionando o fluxo de trabalho de compilação e implantação e, em seguida, selecionando Reexecutar trabalhos.

Confirme a compilação de ações do GitHub

  1. No repositório do GitHub, selecione a guia Ações e, no lado esquerdo, em Todos os fluxos de trabalho, selecione "Criar e implantar o aplicativo JAR no Azure Web App".

  2. Em seguida, na tabela do lado direito, em Execução do fluxo de trabalho, selecione a execução do fluxo de trabalho Adicionar ou atualizar a configuração do fluxo de trabalho de implantação do Serviço de Aplicativo.

  3. Aguarde até que a execução do fluxo de trabalho seja concluída e, em seguida, no trabalho Implantar na execução do fluxo de trabalho, copie a URL no trabalho Implantar que exibe a URL do aplicativo Web do Azure.

  4. Finalmente, abra a URL em um navegador e verifique se seu aplicativo Java está implantado, conectado ao seu banco de dados MySQL e está retornando dados.

Próximos passos

Parabéns! Agora você tem dois fluxos de trabalho do GitHub Actions: uma ação de provisionamento e uma ação de compilação e implantação.

Cada vez que você insere um git push comando para confirmar seu código, sua ação de compilação e implantação é acionada e seu aplicativo é implantado.

Importante

Executar novamente o provisionamento de sua ação do GitHub não recriará seus recursos se eles já existirem. Você precisará excluir seu grupo de recursos ou recursos manualmente e, em seguida, executar novamente a ação do GitHub.

Executar novamente sua ação de compilação e implantação do GitHub substituirá seu aplicativo.

Se você recriar sua instância do Serviço de Aplicativo, também precisará alterar para o novo perfil de publicação. Você precisa alterar apenas a seguinte linha:

publish-profile: ${{ secrets.AzureAppService_PublishProfile_c1ee8d191003493b9c9e13a9b78ad2c3 }}

Configurar um Pipeline do Azure para implantar o aplicativo de exemplo

Como antes, você precisará criar um Pipeline do Azure para criar e implantar seu aplicativo.

No Azure DevOps, vá para seu projeto, selecione "Pipelines" e selecione "New Pipeline" (canto superior direito).

Agora você receberá quatro guias para configurar seu pipeline:

  1. Na guia "Conectar", selecione "GitHub" (arquivo YAML).
  2. Na guia "Selecionar", selecione o repositório GitHub que contém seu modelo.
  3. Na guia "Configurar", selecione para usar um "Arquivo YAML do Azure Pipelines existente".
  4. No caminho, desta vez, selecione "/azuredevops/build_deploy.yml"
  5. Selecione Continuar para ir para a guia "*Review" e revise seu pipeline antes de executá-lo.

Na tela Revisar seu pipeline YAML, inspecione o arquivo Yaml que você usará para criar seu pipeline:

name: Build and Deploy

trigger:
- main

stages:

# Build your Spring Boot App using Maven
- stage: Build
  displayName: Build stage
  jobs:
  - job: MavenPackageAndPublishArtifacts
    displayName: Maven Package and Publish Artifacts
    pool:
      vmImage: 'ubuntu-latest'

    steps:
    - task: Maven@3
      displayName: 'Maven Package'
      inputs:
        mavenPomFile: 'pom.xml'

    - task: CopyFiles@2
      displayName: 'Copy Files to artifact staging directory'
      inputs:
        SourceFolder: '$(System.DefaultWorkingDirectory)'
        Contents: '**/target/*.?(war|jar)'
        TargetFolder: $(Build.ArtifactStagingDirectory)

    - upload: $(Build.ArtifactStagingDirectory)
      artifact: drop

# Deploy to Azure using the AzureWebApp task using your Service Connection
- stage: Deploy
  displayName: Deploy stage
  dependsOn: Build
  condition: succeeded()
  jobs:
  - deployment: DeployLinuxWebApp
    displayName: Deploy Linux Web App
    environment: 'production'
    pool:
      vmImage: 'ubuntu-latest'
    strategy:
      runOnce:
        deploy:
          steps:
          - task: AzureWebApp@1
            displayName: 'Azure Web App Deploy'
            inputs:
              azureSubscription: $(serviceConnection)
              appType: webAppLinux
              appName: '$(webAppName)'
              package: '$(Pipeline.Workspace)/drop/**/target/*.?(war|jar)'

Vejamos alguns dos campos que usamos na configuração "Build":

  • azureSubscription: Sua assinatura do Azure
  • appType: Seu tipo de aplicativo Web
  • appName: O nome do seu serviço de aplicativo existente
  • package: o caminho do arquivo para o pacote ou uma pasta que contém o conteúdo do serviço de aplicativo

Adicionar variáveis de compilação

Assim como acontece com nosso pipeline de provisionamento, antes de salvar e executar o pipeline de compilação e implantação, você precisa adicionar as variáveis do pipeline:

  1. Selecione Variáveis no canto superior direito.
  2. Adicione uma variável chamada serviceConnection com o valor como o nome da sua Conexão de Serviço.
  3. Selecione OK no canto inferior direito para salvar a variável.
  4. Adicione uma segunda variável chamada webAppName com o nome do Serviço de Aplicativo (mesmo valor definido na variável Terraform "application_name").
  5. Selecione OK para salvar a variável.
  6. Selecione Salvar no canto inferior direito para salvar ambas as variáveis.

Screenshot displaying the new variables.

Veja o pipeline correr

  1. Selecione && para salvar e executar o pipeline
  2. Como você fez para seu pipeline de provisionamento , rastreie o processo de compilação através de cada um dos estágios e etapas.
  3. Verifique se seu aplicativo Java está implantado, conectado ao seu banco de dados MySQL e retornando dados.

Screenshot displaying the new Azure Pipeline run.

Próximos passos

Parabéns! Agora você tem dois fluxos de trabalho do Pipeline do Azure: um pipeline de provisionamento e um pipeline de compilação e implantação.

Cada vez que você insere um git push comando para confirmar seu código na ramificação principal , seu pipeline de compilação e implantação é acionado e seu aplicativo é implantado.

Importante

A reexecução do Pipeline de Provisão não recriará seus recursos se eles já existirem. Você precisará excluir seu grupo de recursos ou recursos manualmente e, em seguida, executar novamente o Pipeline. Você pode encontrar mais informações sobre como conseguir isso melhor na produção na seção Resumo.

Executar novamente seu pipeline de compilação e implantação substituirá seu aplicativo.

A próxima unidade é uma verificação de conhecimento para ver o que você aprendeu neste módulo.