Exercício – Implantar um aplicativo de exemplo do Spring Boot
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, você pode implantar seu aplicativo Spring Boot de exemplo.
Para criar o fluxo de trabalho do GitHub do Maven, você usará a ferramenta interna de CI/CD (integração contínua e entrega contínua) disponível no Centro de Implantação do portal do Serviço de Aplicativos do Azure.

O Centro de Implantação do Serviço de Aplicativo do Azure gera automaticamente um arquivo de fluxo de trabalho do GitHub Actions baseado na pilha de aplicativos. Em seguida, o Centro de Implantação confirma o arquivo em seu 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.
No portal do Azure, acesse seu aplicativo Web do Serviço de Aplicativo do Azure.
No painel esquerdo, expanda a Implantação e selecione o Centro de Implantação.
Na lista suspensa Origem, em Implantação Contínua (CI/CD), selecione GitHub.
Selecione GitHub Actions. (Esse deve ser o padrão, mas se não for, selecione Alterar provedor para carregar as opções do provedor.)
Em Configurações, nas listas suspensas, faça o seguinte:
a. Selecione seu repositório GitHub.
b. Para ramificação, selecione principal.
c. Para a pilha de aplicativos, selecione JAVA 8.Na página final, examine suas seleções e visualize o arquivo de fluxo de trabalho que será confirmado no repositório.
Selecione Salvar para confirmar o arquivo de fluxo de trabalho no repositório e comece imediatamente a compilar e implantar seu aplicativo.
Observação
Você também pode disparar o fluxo de trabalho do GitHub Actions em seu repositório selecionando a guia Ações , selecionando o fluxo de trabalho de build e implantação e, em seguida, selecionando trabalhos de nova execução.
Confirmar a compilação do GitHub Actions
No repositório GitHub, selecione a guia Ações e, no lado esquerdo, em Todos os Fluxos de Trabalho, selecione "Criar e implantar o aplicativo JAR no Aplicativo Web do Azure".
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 de implantação do App Service.
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.
Por fim, abra a URL em um navegador e verifique se seu aplicativo Java está implantado, conectado ao banco de dados MySQL e está retornando dados.
Próximas etapas
Parabéns! Agora você tem dois fluxos de trabalho do GitHub Actions: uma ação de provisionamento e uma ação de build e implantação.
Cada vez que você insere um git push comando para confirmar seu código, sua ação de build e implantação é disparada e seu aplicativo é implantado.
Importante
A nova execução do provisionamento da ação do GitHub não recriará os recursos se eles já existirem. Você precisará excluir seu grupo de recursos ou recursos manualmente e 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 a 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 Azure Pipeline para criar e implantar seu aplicativo.
No Azure DevOps, acesse seu Projeto, selecione "Pipelines" e selecione "Novo Pipeline" (canto superior direito).
Agora, haverá quatro guias para configurar o pipeline:
- Na guia "Conectar", selecione "GitHub" (arquivo YAML).
- Na guia "Selecionar", escolha o repositório do GitHub que contém o modelo.
- Na guia "Configurar", escolha o uso de um "Arquivo YAML existente do Azure Pipelines".
- No caminho, desta vez, selecione "/azuredevops/build_deploy.yml"
- Selecione Continuar para acessar a guia "*Revisar" e examinar o pipeline antes de executá-lo.
Na tela Examinar o YAML do pipeline, inspecione o arquivo YAML que você usará para criar o 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)'
Vamos examinar alguns dos campos que usamos na configuração "Build":
- azureSubscription: sua assinatura do Azure
- appType: seu tipo de aplicativo Web
- appName: o nome do serviço de aplicativo existente
- pacote: 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 build
Assim como acontece com nosso pipeline de provisionamento, antes de salvar e executar o pipeline de build e implantação, você precisa adicionar as variáveis do pipeline:
- Selecione Variáveis no canto superior direito.
- Adicione uma variável chamada serviceConnection com o valor como o nome da Conexão de Serviço.
- Selecione OK no canto inferior direito para salvar a variável.
- Adicione uma segunda variável chamada webAppName com o nome do Serviço de Aplicativo (mesmo valor definido na variável terraform "application_name").
- Selecione OK para salvar a variável.
- Selecione Salvar no canto inferior direito para salvar ambas as variáveis.

Inspecionar a execução de pipeline
- Selecione && para salvar e executar o pipeline
- Como você fez no pipeline de Provisionamento, acompanhe o processo de compilação em cada uma das fases e etapas.
- Verifique se seu aplicativo Java está implantado, conectado ao banco de dados MySQL e retornando dados.

Próximas etapas
Parabéns! Agora você tem dois fluxos de trabalho do Azure Pipeline: um pipeline de provisionamento e um pipeline de build e implantação.
Sempre que você insere um comando git push para confirmar seu código no ramo principal, o pipeline de build e implantação é acionado e seu aplicativo é implantado.
Importante
A nova execução do pipeline de provisionamento não recriará os recursos se eles já existirem. Você deverá excluir o grupo de recursos ou os recursos manualmente e reexecutar o pipeline. Você pode encontrar mais informações sobre como obter melhor isso em produção na seção Resumo.
A nova execução do pipeline de compilação e implantação substituirá o aplicativo.
A próxima unidade é uma verificação de conhecimento para ver o que você aprendeu neste módulo.